如何提高脚本的稳定性?
如何提高selenium脚本的执行速度?”
“selenium中如何保证操作元素的成功率?也就是说不管网络加载慢还是快”
如果一个元素今天你能定位到,过两天就定位不到了,只要这个页面没变过,说明定位方法是没啥问题的。
优化方向:
1.不要右键复制xpath(十万八千里那种路径,肯定不稳定),自己写相对路径,多用id为节点查找
2.定位没问题,第二个影响因素那就是等待了,sleep等待尽量少用(影响执行时间)
driver.implicitly_wait(30)这个等待也不要用,不要以为是全局的就是好事,有些js加载失败时候会一直等,并且页面跳转时候也无法识别
3.定位元素方法重新封装,结合WebDriverWait和expected_conditions判断元素方法,自己封装一套定位元素方法
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
def find(locator, timeout=30):
'''定位元素,参数locator是元祖类型, 如("id", "yoyo")'''
element = WebDriverWait(driver, timeout, 1).until(EC.presence_of_element_located(locator))
return element
个人简介
我是一名测试兼开发工程师,目前25K,目前做的是无人驾驶,欢迎和大家一起交流测试技术,
起高薪就业,我们还有一起打妖怪的群哦,还有面试题小程序哦