我在 R 中使用 Selenium WebDriver 来解析一些在线数据。我最初是在几个月前编写的脚本,效果很好。但是,我今天再次运行它,运行后收到以下错误ClickElement()
:
Error: Summary: ScriptTimeout
Detail: A script did not complete before its timeout expired.
class: org.openqa.selenium.TimeoutException
我使用 Chrome 作为我的浏览器,并且已经更新到 ChromeDriver 的最新版本(2.20)(我在编写脚本时使用的是 2.19)。这个错误很特殊,因为它在我的脚本中出现得很晚,在我已经ClickElement()
多次使用之后。被点击的元素是一个下载按钮。Selenium 完成点击并开始下载,但几分钟后抛出上述错误。此时,脚本继续。
我只能想到几个可能的问题:
- ChromeDriver 更新破坏了一些东西。我用 2.19 和 2.20 都试过了,我不确定如何进一步测试。
- 我对 Selenium 的理解之外的一些问题。通过一些实验和尝试谷歌类似的问题,我认为它可能与下载过程本身有关,即驱动程序冻结,因为下载当前正在页面上运行。
我不确定发生了什么,而且我对 Selenium 的了解还不够,无法有效地对其进行故障排除。我能做些什么?我想我需要一种替代方法来执行下载,或者至少需要一种在忽略ScriptTimeout
错误的情况下单击元素的方法。当我尝试将输入键发送到元素时,我也会收到相同的错误。