当前我正在写一个可以在无限循环中工作的Web刮取器。它获取一个页面,搜索一些按钮并单击其中一个按钮。但有时它不会!我保存了屏幕截图,以防某些失败,并且显示该页面在点击按钮后没有改变。Selenium驱动程序有时不点击元素
driver.find_element_by_xpath('//input[@name = "btn"]').click()
time.sleep(3)
我已经绕过这个循环检查我们是否看到该元素仍然存在。
while driver.find_elements_by_xpath('//input[@name = "Submit"]') != []:
driver.find_element_by_xpath('//input[@name = "Submit"]').click()
但希望找到一个根本原因。它可能是什么?
确保您在点击前后等待(例如明确等待)适当的时间。 –
我想你需要适当的等待来加载页面?或使用预期的合同? – SIslam
页面加载成功和完全 - 我可以找到任何我需要的元素。我使用time.sleep等待2-3秒来延迟一些时间,但是我应该使用一些硒等待函数还是其他的? – academica