我尝试使用Selenium的ChromeWeb驱动程序导航到一个页面,然后填写表单。问题是页面加载,然后5秒后显示表单。所以JavaScript在5秒后改变了DOM。我认为这意味着web驱动程序接收到的源代码中不存在表单的htmlid。在
但是,该html不会出现在页面的源html中。在
Python用于查找元素:
answerBox = driver.find_element_by_xpath("//form[@id='answer0problem2']")
如何访问此表单中的输入字段?在
有没有办法在不改变页面的情况下刷新web驱动程序?在
你遇到这个问题是因为你没有给网站足够的时间来加载。
像这样使用
time.sleep()
:这是因为selenium生成它自己的进程,不受python
sleep
的影响。在这个睡眠时间,无头浏览器继续工作并加载网站。为每个selenium执行实现一个
sleep
时间来计算页面加载是很有帮助的。因为python进程与selenium通信的唯一方式是在调用driver
时,在页面加载之前调用可能会产生与您描述的类似的后果。相关问题 更多 >
编程相关推荐