【发布时间】:2021-12-04 00:55:39
【问题描述】:
我正在对通过 Windows 服务器上的任务计划程序运行的 Selenium 脚本进行故障排除。它使用 3.0.1 版的 Selenium 模块(可在此处找到:https://www.powershellgallery.com/packages/Selenium/3.0.1)和 Edge 浏览器(带有 Chromium 的浏览器)在 PowerShell 中运行。
“对 URL [localhost] 的远程 WebDriver 服务器的 HTTP 请求在 60 秒后超时。”错误一直很持久,仅在通过任务计划程序运行时出现。通过 ISE 手动运行时,脚本运行良好。
另外需要注意的是,还有另一个脚本与有问题的脚本大致相同,尽管使用的 URL 略有不同(同一站点)。第二个脚本通过任务调度程序运行没有问题。他们正在执行相同的操作序列,这就是为什么我不完全确定为什么一个脚本会失败,而另一个脚本不会失败。
在查看其他面临相同问题的海报时,我没有找到合适的解决方案。非常感谢任何帮助!
【问题讨论】:
-
可能与本地主机冲突...驱动程序可能也会使用它。包括工作和不工作的 webdriver 初始化代码。
-
$Edge_Driver = Start-SeNewEdge 此行在工作脚本和非工作脚本之间没有变化。
-
您需要进行一些故障排除。尝试找出工作和非工作之间的区别。由于这仅在通过任务调度程序运行时才会发生,因此请务必检查运行脚本的服务/用户的权限。如果两者都相同,您可以检查 localhost 服务器的超时时间...这是向 webdriver 服务器发送命令的超时时间,或者从...接收数据返回...
-
例如,将非工作脚本中的“略有不同的 URL”放入工作脚本中。看看会不会破坏它。等等...控制每个变量...找出可能导致这种情况的差异。
-
一定要在这里控制时间......不同的脚本可能会因为它们运行的时间以及当时机器/服务器的其他情况而失败。
标签: powershell selenium task scheduled-tasks