1、元素定位的表达试写的不正确(也有可能是xpath用了能动态变化的属性)
处理方法:检查表达式,可以先在查找元素页面先把元素查找出来,尽量不要在元素页面直接通过复制xpath;辨别能动态变化的属性,比如表达式里面包含不规则的数字或者字母,替换使用不能动态变化的属性
2、元素可能还没来得及被加载出来
处理方法:可以使用等待,看情况使用强制等待,隐形等待,和显性等待
(为提高自动化的效率,一般使用强制等待的较少(不建议使用),考虑先用隐形等待,如果还是加载不出来,就使用显性等待)
3、可能元素不在当前页面,比如需要定位的元素在iframe里面,或者在alert弹窗里面或者另一个窗口里面
处理方式:如果是iframe,需要先切换到iframe里面再去定位元素;如果是alert,也是需要先定位到alert点击后,再去定位元素,另一个窗口也是需要先切换到另一个窗口的
# 先找到 iframe 这个元素,然后把 iframe 这个元素对象传进函数
# driver.switch_to.frame('myframe')
# 先切换到 alert 页面,然后点击 alert 确认
driver.switch_to.alert.accept()
# 切换窗口的参数:窗口的名称
driver.switch_to.window(driver.window_handles[-1])
欢迎来到testingpai.com!
注册 关于