元素定位失败原因分析
报错信息:NoSuchElementException 意思是在当前的网页上找不到该元素
原因1:点击时元素未加载完全
为什么找不到呢?搜索白月黑羽需要一定的时间,因为我们代码执行的速度远比百度服务器的响应速度要快,还未加载出信息我们就执行了查找id为1的元素的代码
解决方案 :
添加固定等待时间。time.sleep(1),单位秒,性能较低
隐式等待: 10为最大等待时间
驱动启动后就添加隐式等待
隐式等待优点:send_keys(‘白月黑羽\n’)之后,未查询出id为1的元素,不会立刻抛异常,每隔半秒查询一次,查询成功后程序继续运行,查询时超出10秒抛异常,即10秒内查询20次
find_elements_ 则返回空列表
添加等待的3种方式以及优缺点: