ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
相关类似问题还有“用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?” “如何提高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 ~~~