1、error:NoSuchElementException
- 1、页面没有完全加载,元素没有显示出来
- 可以通过设置隐式等待时间
- 设置动态等待时间,最大等待时间为10s (解决方法一:推荐使用)driver.implicitly_wait(10))
- 设置常量等待时间 (解决方法二)time.sleep(3)
- 2、目标元素发生变动
- 选择不会发生变动的元素进行重新定位即可
- 3、目标元素处于其他串口
- 使用webdriver切换到其他窗口进行元素定位
- 4、目标元素处于frame中
- 切换进入frame中重新定位元素
- 切换进frame页面(通过唯一标识切换到frame中):driver.switch_to.frame(‘contentFrame’)
2、error:ElementNotInteractableException
-
分辨率不合适,元素没有展示出来
- 设置浏览器大小:driver.set_window_size(x,y)
- 执行JavaScript脚本,使页面进行偏移:driver.execute_script(“window.scrollBy(x,y)”)
3、StaleElementReferenceException
-
元素二次渲染
- 操作元素之前重新获取一下目标元素