关于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 getopt 参数处理小示例
Jun 09 Python
python基础教程之python消息摘要算法使用示例
Feb 10 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
将python字符串转化成长表达式的函数eval实例
May 11 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
python实现磁盘日志清理的示例
Nov 05 Python
Python下载的11种姿势(小结)
Nov 18 Python
详解pytorch创建tensor函数
Mar 22 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&amp;mysql(二)
2006/10/09 PHP
php 清除网页病毒的方法
2008/12/05 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
python语音识别实践之百度语音API
2018/08/30 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
python time()的实例用法
2020/11/03 Python
Python 多进程原理及实现
2020/12/21 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
夜班门卫岗位职责
2013/12/09 职场文书
中英文自我评价语句
2013/12/20 职场文书
企业出纳岗位职责
2014/03/12 职场文书
群众路线个人整改方案
2014/10/25 职场文书
2015年财政局工作总结
2015/05/21 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript