7.设置等待时间
#导入time包
import time
#添加智能等待
driver.implicitly_wait(30 )
#添加固定休眠时间
time.sleep(5 )
#导入WebDriverWait 包
from selenium.webdriver .support .ui import WebDriverWait
#详细格式如下:
WebDriverWait(driver,timeout,poll_frequency=0.5 ,ignored_exceptions=None)
driver - WebDriver 的驱动程序(Ie,Firefox,Chrome 或远程)
timeout - 最长超时时间,默认以秒为单位
poll_frequency- 休眠时间的间隔(步长)时间,默认为 0.5 秒
ignored_exceptions - 超时后的异常信息,默认情况下抛 NoSuchElementException 异常。
element = WebDriverWait(driver, 10 ).until (lambda x : x .find _element_by_id(“someId”)) is_disappeared = WebDriverWait(driver, 30 , 1 , (ElementNotVisibleException)). until_not(lambda x : x .find _element_by_id(“someId”).is _displayed())
8.定位frame中的元素
driver.switch _to.frame ("mainscreen" )#切入到id="mainscreen"的嵌套中
driver.switch _to.default _content()#这句话是退出原来的嵌套回到原来的主文档
driver.switch _to.parent _frame()返回上一级frame
9.浏览器多窗口
#获得当前窗口
nowhandle=driver.current _window_handle
#获得所有窗口
allhandles=driver.window _handles
for handle in allhandles:
if handle != nowhandle:
driver.switch _to_window(handle) #到最后窗口口
driver.close ()#关闭最后窗口
10.alert/confirm/prompt 处理
driver.switch _to_alert().text #获取网页上的警告信息
driver.switch _to_alert().accept #接收警告信息
driver.switch _to_alert().dismiss #取消对话框(如果有的话)
driver.switch _to_alert().send _keys("xx" ) #输入值(如果有的话)
11.下拉框处理
from selenium.webdriver.support.ui import Select
Select (driver.find_element_by_id('language' )).select_by_value(Value )
12.文件上传
driver.find_element_by_name("file" ).send_keys('D:\\selenium_use_case\upload _file.txt' )
13.cookie消息处理
driver.get_cookies()
driver.get_cookie(name)
driver.add_cookie({'name' :'key-aaaaaaa' , 'value' :'value-bbbb' })
driver.delete_cookie("CookieName" )
driver.delete_cookie("CookieName" )
driver.delete_all_cookies()
—————————————————–分割线—————————————————–
用实际用例代码长期更新,介绍selenium使用中的知识小点,希望大家关注
关注微信公众号: