python-UI自动化须记
一、删除/获取cookie
删除:
driver.delete_all_cookies()
获取:
driver.get_cookies()
二、显示等待/隐式等待
显示等待:强制等待多少时间后检测元素
WebDriverWait(浏览器,最大等待时间,频率).untill(EC.presence_of_element_located((By.xxxx,value))); 这样子太过于麻烦,都是强制等待直接sleep应该也可以
隐式等待:在规定的时间检测到元素就继续往下运行
driver.implicitly_wait(时间)
三、判定元素是否加载出来
is_displayed()
有些元素本来就设置了不显示,那么就需要使用js来解决,太过于麻烦;
这里使用try就可以了:
测试地址url:https://www.w3school.com.cn/tiy/t.asp?f=js_confirm
四、切换iframe
有时页面元素代码读不到,除了还没有加载出来的原因还有就是在当前页面还镶嵌了一个页面
通过driver.switch_to.frame(iframe元素)
如图下,可以选择id或者name来定位切换
操作完后返回原先的页面操作:driver.switch_to.default_content()
无、页面display:none
如图上存在display:none时,我们是的脚本是不能去识别里面的元素的
解决:
js = "document.getElementById(ID).style.display='block'"
self.driver.execute_script(js)
六、警告框操作
有一些页面时是会弹一些弹框,比如:
点击确定:driver.switch_to.alert.accept()
点击取消:driver.switch_to.alert.dismiss()
..................待续