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()

..................待续

原文地址:https://www.cnblogs.com/fengliting/p/13759635.html