关于Python 常用获取元素 Driver 总结


Posted in Python onNovember 24, 2019

1、在 Windows 设置临时环境变量 cmd命令窗口 输入 path=%path%;E:\soft\python-3.5.2-embed-win32

永久配置,在系统变量下找到path,在Path的最后面添加Python的安装目录

D:\Python34,同样在PATHEXT中添加 .PY;.PYM

然后,输入python 出现版本信息就成功了。

2、CMD命令窗口,清屏的方法

import os
 os.system('cls')

如果不要返回值0就是:

import os
 i=os.system('cls')

3、查看当前系统时间

import time
 #-*-格式时间格式-*-
localtime = time.asctime( time.localtime(time.time()) )
 #-*-格式时间格式[格式化成2009-03-20 11:45:39形式]-*-
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
 #-*-格式时间格式[时间戳格式]-*-
time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
 #-*-输出格式化后的时间-*-
print ("本地时间为 :", localtime)

4、在CMD命令行中,输入 “python” + “空格”,即 ”python “;将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可

5、乱码原因:

因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台

直接打印utf-8的字符串当然是乱码了。

解决方法:

在控制台打印的地方用一个转码就ok了,打印的时候这么写:

print myname.decode('UTF-8').encode('GBK')

比较通用的方法应该是:

import sys
 type = sys.getfilesystemencoding()
 print myname.decode('UTF-8').encode(type)
 
 
 #-*-coding:UTF-8-*- 或者 import sys
 reload(sys)
 sys.setdefaultencoding('UTF-8')

6、其实要驱动chrome浏览器必须要依赖Chromedriver文件才行,

下载地址:

http://code.google.com/p/chromedriver/downloads/list

找到适合你自己系统的包之后下载解压出Chromedriver文件,并将此文件拷贝到java项目的根目录。还是拿上此教程的为例,我们直接爸chromedriver文件拷贝到HelloSelenium项目的根目录下也就是HelloSelenium目录下。这样就可以直接运行了。

7、 安装pyse : 将其克隆到本地,将pyse目录放到..\Python27\Lib\site-packages\目录下。

https://github.com/defnngj/pyse

python setup.py install 安装

java -jar selenium-server-standalone-3.4.0.jar -multiWindow

8、定位属性

#########百度输入框的定位方式##########
 
 #通过id方式定位
 browser.find_element_by_id("kw").send_keys("selenium")
 
 #通过name方式定位
 browser.find_element_by_name("wd").send_keys("selenium")
 
 #通过tag name方式定位
 browser.find_element_by_tag_name("input").send_keys("selenium")
 
 #通过class name 方式定位
 browser.find_element_by_class_name("s_ipt").send_keys("selenium")
 
 #通过CSS方式定位
 browser.find_element_by_css_selector("#kw").send_keys("selenium")
 
 #通过xphan方式定位
 browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")
 
 ############################################
 
 browser.find_element_by_id("su").click()
 time.sleep(3)
 browser.quit()

一、元素的定位

1.webdriver提供的8种页面元素定位方法:

id/name/class name/tag name/link text/partial link text/xpath/css selector

其中python对应的8种方法:

find_element_by_id()      如: find_element_by_id("kw") 
 find_element_by_name()      如: find_element_by_name("wd")
 find_element_by_class_name()    如: find_element_by_class_name("s_ipt") 
 find_element_by_tag_name()     如: find_element_by_tag_name("input") 
 find_element_by_link_text()    如:find_element_by_link_text(u"新闻") 
 find_element_by_partial_link_text()  如:find_element_by_partial_link_text(u"一个很长的") 
 find_element_by_xpath()     如: find_element_by_xpath(" .//*[@id='kw']") 
 find_element_by_css_selector()    如: find_element_by_css_selector("#kw")

二、浏览器控制

1.控制浏览器大小:

set_window_size() 例如:driver.set_window_size(400,500)

maximize_window() 例如:driver.maximize_window() #无参数

2.浏览器后退、前进:back()-后退、farward()-前进

三、鼠标事件

ActionChains类提供的常用方法:

1.1 perform():执行ActionChains中存储的所有行为,对整个事件进行提交

1.2 context_click(): 右击

如:

from selenium.webdriver.common.action_chains import ActionChains
    ...
   ActionChains(dr).context_click(docfile).perform()

1.3 double_click(): 双击

如:

from selenium.webdriver.common.action_chains import ActionChains
    ...
   doubleClick=dr.find_element_by_id("xxx")
   ActionChains(dr). double_Click(doubleClick).perform()

1.4 drag_and_drop(source,target): 拖动

如:

from selenium.webdriver.common.action_chains import ActionChains
    ...
   dsource=dr.find_element_by_id("xxx")  #拖动的源元素
   dtarget=dr.find_element_by_id("xxx")  #释放的目标目标元素
   ActionChains(dr).drag_and_drop(dsource,dtarget).perform()

1.5 move_to_element(): 鼠标悬停

如:

from selenium.webdriver.common.action_chains import ActionChains
    ...
   above=dr.find_element_by_id("xxx")
   ActionChains(dr).move_to_element(above).perform()

四、键盘事件

1.首先要导入键盘事件的包

from selenium.webdriver.common.keys importKeys
 ...
 dr.get("http://www.baidu.com")
 #输入内容
 dr.find_element_by_id("kw").send_keys("seleniumm")
 #删除输入内容的最后一个字母,
 dr.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
 #输入:空格+教程
 dr.find_element_by_id("kw").send_keys(Keys.SPACE)
 dr.find_element_by_id("kw").send_keys(u"教程")
 #ctrl+a全选输入框内容
 dr.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
 #ctrl+x剪贴输入框内容
 dr.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
 #ctrl+v剪贴输入框内容
 dr.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
 #回车键操作
 dr.find_element_by_id("su").send_keys(Keys.ENTER)
 dr.close()

常用的键盘操作整理:

send_keys(Keys.BACK_SPACE) #删除键BackSpace
 send_keys(Keys.SPACE)  #空格键Space
 send_keys(Keys.TAB)   #制表键Tab
 send_keys(Keys.ESCAPE)  #回退键Esc
 send_keys(Keys.ENTER)  #回车键Enter
 send_keys(Keys.CONTROL,'a') #Ctrl+a
 send_keys(Keys.CONTROL,'c') #Ctrl+c 
 send_keys(Keys.CONTROL,'x') #Ctrl+x
 send_keys(Keys.CONTROL,'v') #Ctrl+x
 send_keys(Keys.F1)   #F1,类似的有F1-F12

五、获取验证

六、设置等待

1.显示等待:等待某个条件成立时,继续执行,否则达到最大等待时间后抛出异常:TimeoutException,显示等待是针对当前要定位元素使用

WebDriverWait(driver, timeout,poll_frequency,ignored_exceptions=None).until(method,message)

示例:

WebDriverWait(dr,5,0.5,None).until(
  expected_conditions.presence_of_element_located((By.ID,"kw1")),message='test')

解释:

A.WebDriverWait():在设置时间内,默认间隔一段时间检测一次当前页面元素是否存在,若超过当前指定时间检测不到则抛出异常;
 B.driver:webdriver的浏览器驱动,ie、firefox、chromea
 C.timeout:最长超时时间,以秒为单位
 D.poll_frequency:休眠间隔时间-步长,默认0.5秒
 E.ignored_exceptions:超时后异常信息,默认抛出NoSuchElementException异常
 F.until(method,message): 调用该方法提供的驱动作为一个参数,直到返回值为True
 G.until_not(method,message):调用该方法提供的驱动作为一个参数,直到返回值为False
 H.expected_conditions类提供的预期条件实现有:
  title_is:判断标题是否是xx
  title_contains:判断标题是否包含xx
  presence_of_element_located:元素是否存在
 
  visibility_of_element_located:元素是否存在
 
  visibility_of:是否可见
 
  presence_of_all_elements_located:判断一组元素是否存在
 
  text_to_be_present_in_element:判断元素是否有xx文本信息 
 
  text_to_be_present_in_element_value:判断元素值是否有xx文本信息 
 
  frame_to_be_available_and_switch_to_it:表单是否可见,并切换到该表单
 
  invisibility_of_element_located:判断元素是否隐藏
  element_to_be_clickable:判断元素是否点击,它处于可见和启动状态
  staleness_of:等到一个元素不再依附于DOM
  element_to_be_selected:被选中的元素
  element_located_to_be_selected:一个期望的元素位于被选中
  element_selection_state_to_be:一个期望检查如果给定元素被选中
  element_located_selection_state_to_be:期望找到一个元素并检查是否是选择状态
  alert_is_present:预期一个警告信息

2.隐式等待:通过一定的时长等待页面所有元素加载完成,哪个元素超出设置时长没被加载就抛出异常NoSuchElementException,隐式等待是针对所有元素的

implicitly_wait(5) #默认单位为秒

示例:

dr.implicitly_wait(5)

七、sleep休眠 python中强制的程序等待

from time import sleep
 sleep(4) #默认单位秒,设置小于1秒的时间可以用小数点如sleep(0.6)

八、定位一组元素,类似与1中定位单个元素方法

find_elements_by_id()      如: find_elements_by_id("kw") 
 find_elements_by_name()     如: find_elements_by_name("wd")
 find_elements_by_class_name()    如: find_elements_by_class_name("s_ipt") 
 find_elements_by_tag_name()    如: find_elements_by_tag_name("input") 
 find_elements_by_link_text()    如:find_elements_by_link_text(u"新闻") 
 find_elements_by_partial_link_text()  如:find_elements_by_partial_link_text(u"一个很长的") 
 find_elements_by_xpath()     如: find_elements_by_xpath(" .//*[@id='kw']") 
 find_elements_by_css_selector()   如: find_elements_by_css_selector("#kw")

使用场景:

a.批量操作对象,如选中页面上所有复选框

b.先获取一组对象,再在这组对象里定位需要的的一些对象,如定位所有复选框,然后选择最后一个

例如:代码如下

checkbox.htm页面:

<styletype="text/css">
 body{font-size:12px; font-family:Tahoma;}
 .checkbox{vertical-align:middle; margin-top:0;}
 </style>
 <body>
 <inputclass="checkbox"type="checkbox"/>元旦
 <inputtype="checkbox"name="test"/>圣诞节
 <inputtype="checkbox"name="test"/>股市
 <inputtype="checkbox"name="test"/>阿凡达
 <inputtype="checkbox"name="test"/>十月围城
 <inputtype="checkbox"name="test"/>水价上调
 <inputtype="button"value="检测"id="btn"/>
 </body>

python代码:

from selenium import webdriver
  
  dr=webdriver.Firefox()
  dr.get("D:\\workspace\\pySelenium\\resources\\checkbox.htm")
 #使用tagname方式选择页面上所有tagname为input的元素
 select_tagname=dr.find_elements_by_tag_name("input")
 #使用xpath方式选择页面上所有tagname为input的元素
 select_xpath=dr.find_elements_by_xpath("//input[@type='checkbox']")
 #使用css_select方式选择页面上所有tagname为input的元素
 select_css=dr.find_elements_by_css_selector('input[type=checkbox]')
 for i in select_tagname:
 #循环对每个input元素进行点击选中操作
 if i.get_attribute("type")=='checkbox':
 i.click()
 for j in select_xpath:
 #循环对每个input元素进行点击取消操作
 j.click()
 for k in select_css:
 #循环对每个input元素进行点击选中操作
 k.click()
 #打印出checkbox的个数
 print'----页面上checkbox的个数为:',len(select_css)
 #使用pop()获取1组元素的第几个元素
 select_css.pop(0).click()#第一个
 select_css.pop(1).click()#第二个
 select_css.pop().click()#最后一个
 select_css.pop(-1).click()#最后一个
 select_css.pop(-2).click()#倒数第二个
 dr.close()

备注:pop():选择一组元素中的某一个,要注意的是:pop()和pop(-1)都表示最后一个元素

九、多表单切换(对于有frame嵌套表单的操作)

frame页面:

<html>
<body>
<frameset>
<h3>frame</h3>
<iframeid='frameid'name='frameName'width="800"height="500"src="http://www.baidu.com"/>
</frameset>
</body>
</html>

python代码:

dr.get("D:\\workspace\\pySelenium\\resources\\frame.htm")
 dr.switch_to_frame("frameid")#通过frame的id进入iframe
 #dr.switch_to_frame("frameName") #通过frame的name进入iframe
 #下面可以对frame进行操作了
 dr.find_element_by_id("kw").send_keys("selenium")
 dr.find_element_by_id("su").click()
 dr.switch_to_default_content()#退出当前frame返回上一层

备注:

1.switch_to_frame()默认直接取表单的id或者name属性来切换

2.完成当前frame表单操作后,可以通过switch_to_default_content()方法返回上一层表单,即离的最近的switch_to_frame()方法

3.对于frame中没有id和name属性的通过下面方式进入frame(定位到frame以页面对象传入)

python代码:

dr.get("D:\\workspace\\pySelenium\\resources\\frame.htm")
  #定位到frame页面元素
  framepath=dr.find_element_by_class_name("frameClassname")
  dr.switch_to_frame(framepath)#通过frame页面对象进入iframe
 #下面可以对frame进行操作了
 dr.find_element_by_id("kw").send_keys("selenium")
 dr.find_element_by_id("su").click()
 dr.switch_to_default_content()#退出当前frame返回上一层

十、多窗口切换

selenium-webdriver中使用switch_to_window()方法来切换任意窗口,常用方法有

driver.current_window_handle #获取当前窗口句柄
driver.window_handles #返回所有窗口句柄到当前会话

driver.switch_to_window() #进入窗口,用于切换不同窗口

python代码:

dr.get("http://www.baidu.com")
 current_handle=dr.current_window_handle #获取百度首页窗口句柄
 index_login=dr.find_element_by_xpath("//div[@id='u1']/a[@class='lb']")#获取登录按钮对象
 index_login.click()#点击登录
 dr.implicitly_wait(5)
 dr.find_element_by_class_name("pass-reglink").click()#点击立即注册按钮
 all_handles=dr.window_handles #获取所有打开窗口句柄
 for handle in all_handles:
 if handle==current_handle:
 dr.switch_to_window(handle)
 '''
 ...对首页窗口进行操作
 '''
 print'----首页页面title:',dr.title
 for handle in all_handles:
 if handle!=current_handle:
 dr.switch_to_window(handle)
 '''
 ...对注册窗口进行操作
 '''
 print'----注册页面title:',dr.title

十一、警告框处理

webdriver中处理js生成的alert、confirm、prompt处理方法是:使用switch_to_alert()定位到alert/confirm/prompt,然后使用text、accept、dismiss、send_keys来根据需要操作。

text:返回alert、confirm、prompt中的文字信息

accept:点击确认按钮

dismiss:点击取消按钮

send_keys:在alert、confirm有对话框时输入值

python代码:

dr.get("http://www.baidu.com")
 set_link=dr.find_element_by_xpath("//div[@id='u1']/a[@class='pf']")#找到设置链接元素
 ActionChains(dr).move_to_element(set_link).perform()#鼠标移动到设置上
 dr.find_element_by_xpath("//a[@class='setpref']").click()#点击搜索设置链接
 time.sleep(3) #加等待时间 等按钮可用,否则会报错
 save_set=dr.find_element_by_css_selector("#gxszButton > a.prefpanelgo")#获取保存设置按钮
 save_set.click()#点击保存设置按钮
  
 alert=dr.switch_to_alert()     #进入alert
 print'----弹出alert中内容为:',alert.text #打印对话框里的文字内容
 alert.accept()#对话框里点击alert中确定按钮
 #alert.dismiss() #对话框里点击取消按钮
 #alert.send_keys("对话框中输入的内容") #在对话框里输入内容

十二、上传文件

分2种:普通上传、插件上传

普通上传:将本地文件的路径作为一个值放到input标签中,通过form表单提交时,将值传给服务器中去

插件上传:指基于flash、javascript或ajax技术实现的上传功能或插件。

1.针对普通上传用send_keys实现

python代码:

dr.get("D:\\workspace\\pySelenium\\resources\\upload.htm")
 loadFile=dr.find_element_by_name("filebutton")# 获取上传文件input元素节点
 loadFile.send_keys("D:\\workspace\\pySelenium\\resources\\frame.htm")#输入上传文件地址来实现上传

2.插件上传:使用AutoIt实现,--需要安装AutoIt程序

AutoIt安装,使用暂时略,需要时再追加,流程为:用AutoIt编写上传文件脚本生成exe文件,在python脚本中进行调用

python代码:

loadFile=dr.find_element_by_name("filebutton")# 获取上传按钮
 loadFile.click() #点击上传按钮,弹出上传对话框
 os.system("D:\\autoItFile.exe") #调用autoIt生成的exe文件,实现导入

十三、下载文件:使用AutoIt实现,--需要安装AutoIt程序,方法同上传

python代码:

ffp=webdriver.FirefoxProfile()
 ffp.set_preference("browser.download.folderList",2)#0:代表下载到浏览器默认路径下;2:下载到指定目录
 ffp.set_preference("browser.download.manager.showWhenStarting",False)#是否显示开始:True:显示;False:不显示
 ffp.set_preference("browser.download.dir", os.getcwd())#指定下载文件目录,os.getcwd()无参数,返回当前目录
 # ffp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")#下载文件类型,
 #指定下载页面的content-type值,application/octet-stream为文件类型,http-content-type常用对照表搜索百度
 dr=webdriver.Firefox(firefox_profile=ffp)
 dr.get("https://pypi.python.org/pypi/selenium#downloads")
 dr.find_element_by_xpath("//div[@id='content']/div[3]/table/tbody/tr[3]/td[1]/span/a[1]").click()
 #接下来使用autoIt实现

十四、cookies操作

webdriver操作cookies的方法:

get_cookies():获得所有cookies的值

get_cookie(name):获得有特定name值的cookie信息

add_cookie(cookie_dict):添加cookie,必须有name和value

delete_cookie(name):删除特定名称的cookie信息,通过name找到特定的cookie并删除

delete_all_cookies():删除浏览器中所有cookie的信息

注意:

1.cookie是以字典形式进行存储的;

2.使用场景:如登录功能会把用户名写入浏览器cookie指定key为username,那么就可以通过get_cookies()找到username,打印value,找不到说明保存浏览器的cookie是有bug的。

python代码:

num=1
 dr.get("http://www.baidu.com")
 cookies=dr.get_cookies()#获取cookie的所有信息
 for ck in cookies:
 print'----所有cookie',num,':',ck #打印cookie的所有信息
 num=num+1
 print'----按name查cookie:',dr.get_cookie("PSTM")#通过cookie的name获取cookie信息
 dr.add_cookie({'name':'hello','value':'123456789'})#向name和value添加会话信息
 cookies2=dr.get_cookies()#重新获取cookie的所有信息
 for ck2 in cookies2:
 if ck2['name']=='hello':
 print"----加入的cookie信息:%s-->%s",(ck2['name'],ck2['value'])

十五、javascript调用,python使用的方法:execute_script()

python代码:

dr.get("http://www.baidu.com")
 dr.find_element_by_id("kw").send_keys("selenium")
 dr.find_element_by_id("su").click()
 js="var q=document.documentElement.scrollTop=1000" #滚动条滚到最下面
 dr.execute_script(js)
 time.sleep(4)
 js2="var q=document.documentElement.scrollTop=0"  #滚动条滚到页面顶
 dr.execute_script(js2)

十六、截图,适用于脚本出错时,对当前窗口进行截图保存,使用函数:get_screenshot_as_file()

python代码:

dr.get("http://www.baidu.com")
 try:
 dr.find_element_by_id("kw1").send_keys("selenium")
 dr.find_element_by_id("su").click()
 exceptNoSuchElementException,msg:
 dr.get_screenshot_as_file("d:\\error.jpg") #截图输出到d盘
 print msg
 dr.close()

十七、关闭窗口

quit():退出相关驱动程序并关闭所有窗口。

close():关闭当前窗口,打给多个窗口时,可使用来关闭当前窗口

十八、验证码处理

方法1:去掉验证码,问题:如果是在正式环境跑脚本那么在取掉会存在风险

方法2:设置万能验证码,不需要取消验证码,在程序中留后门--设置一个万能验证码,输入万能验证码了就标识通过

python代码:

import random
 randnum=random.randint(1000,9999)
 print"----生成随机数为:",randnum
 input_num=input(u"请输入验证码:")
 print"----输入验证码为:",input_num
 if input_num==randnum:
 print"随机数正确,登录成功"
 elif input_num==1234:
 print"输入正确,登录成功"
 else:
 print"登录失败"

方法3:使用cookie方法获取,读取之前登录的cookie值访问时,直接登录,不需要验证码

--------------------------------------------------- CMD -----------命令启动Python脚本

文件命名为:test.bat 貌似不能用

@echo off
 echo.
 python E:\pythonScript\Auto_linknetwork.py
 cd /D C:\Python27
 python.exe
 rm #!C:\Python27/python.exe
 import os;
 i=os.system("清屏",cls);
 import time;
 #-*-格式时间格式[格式化成2009-03-20 11:45:39形式]-*-
 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime());
 print ("系统当前时间为 :", localtime);

1、截屏

driver.save_screenshot('E:\\pythonScript\\images\\'+strTime+'baidu.png')

三. WebElement接口获取值

通过WebElement接口可以获取常用的值,这些值同样非常重要。 size 获取元素的尺寸

text 获取元素的文本

get_attribute(name) 获取属性值

location 获取元素坐标,先找到要获取的元素,再调用该方法

page_source 返回页面源码

driver.title 返回页面标题

current_url 获取当前页面的URL

is_displayed() 设置该元素是否可见

is_enabled() 判断元素是否被使用

is_selected() 判断元素是否被选中

tag_name 返回元素的tagName

四.得到函数中的返回值

函数()

def returnval():
 
  driver = webdriver.Chrome()
  print u"\n回传值"
  return driver
 
  #returnval()
 
  src = ("http://hos.sf-express.com")
 
  returnval().get(src)
 
  print returnval()

将函数作为返回值返回,不返回结果只返回函数

def lazy_sum(*args):
   def sum():
    ax = 0
    for n in args:
     ax = ax + n
    return ax
   return sum
  >> f = lazy_sum(1, 3, 2, 7, 9)
  >> f
  >> f() 
 #此时才是真正的计算出函数值;

新建实例driver = webdriver.Chrome()

1.获取当前页面的Url函数

方法:current_url

实例:

driver.current_url

2.获取元素坐标

方法:location

解释:首先查找到你要获取元素的,然后调用location方法

实例:

driver.find_element_by_xpath("//*[@id='tablechart']/tbody/tr[14]/td[9]").location

3.表单的提交

方法:submit

解释:查找到表单(from)直接调用submit即可

实例:

driver.find_element_by_id("form1").submit()

4.获取CSS的属性值

方法:value_of_css_property(css_name)

实例:

driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")

5.获取元素的属性值

方法:get_attribute(element_name)

实例:

driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")

6.判断元素是否被选中

方法:is_selected()

实例:

driver.find_element_by_id("form1").is_selected()

7.返回元素的大小

方法:size

实例:

driver.find_element_by_id("iptPassword").size

返回值:{'width': 250, 'height': 30}

8.判断元素是否显示

方法:is_displayed()

实例:

driver.find_element_by_id("iptPassword").is_displayed()

9.判断元素是否被使用

方法:is_enabled()

实例:

driver.find_element_by_id("iptPassword").is_enabled()

10.获取元素的文本值

方法:text

实例:driver.find_element_by_id("iptUsername").text

11.元素赋值

方法:send_keys(*values)

实例:

driver.find_element_by_id("iptUsername").send_keys('admin')

注意如果是函数需要增加转义符u,eg.

driver.find_element_by_id("iptUsername").send_keys(u'青春')

12.返回元素的tagName

方法:tag_name

实例:

driver.find_element_by_id("iptUsername").tag_name

13.删除浏览器所以的cookies

方法:delete_all_cookies()

实例:

driver.delete_all_cookies()

14.删除指定的cookie

方法:delete_cookie(name)

实例:deriver.delete_cookie("my_cookie_name")

15.关闭浏览器

方法:close()

实例:driver.close()

16.关闭浏览器并且推出驱动程序

方法:quit()

实例:driver.quit()

17.返回上一页

方法:back()

实例:driver.back()

18.设置等待超时

方法:implicitly_wait(wait_time)

实例:driver.implicitly_wait(30)

19.浏览器窗口最大化

方法:maximize_window()

实例:driver.maximize_window()

20.查看浏览器的名字

方法:name

实例:drvier.name

以上这篇关于Python 常用获取元素 Driver 总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
DataFrame 将某列数据转为数组的方法
Apr 13 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
Python 画出来六维图
Jul 26 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
python之array赋值技巧分享
Nov 28 Python
python实现3D地图可视化
Mar 25 Python
解决python对齐错误的方法
Jul 16 Python
Python 使用生成器代替线程的方法
Aug 04 Python
Python matplotlib安装以及实现简单曲线的绘制
Apr 26 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 #Python
使用Python实现画一个中国地图
Nov 23 #Python
用Python画小女孩放风筝的示例
Nov 23 #Python
python实现对列表中的元素进行倒序打印
Nov 23 #Python
Python实现打印实心和空心菱形
Nov 23 #Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 #Python
python实现画循环圆
Nov 23 #Python
You might like
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
JavaScript中click和onclick本质区别与用法分析
2018/06/07 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
小程序转发探索示例
2019/02/19 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
python urllib和urllib3知识点总结
2021/02/08 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
广告设计专业自荐信范文
2013/11/14 职场文书
体育节口号
2014/06/19 职场文书
住房抵押登记委托书
2014/09/27 职场文书
办公用品管理制度
2015/08/04 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书