繁体   English   中英

使用 ChromeDriver 运行计划任务

[英]Run a scheduled task with ChromeDriver

我制作了一个基于 Selenium 和 Chromedriver 的脚本。 基本上是一个登录网站的程序。 写一条评论(来自计算机的 txt 文件)然后关闭程序,不,它不是垃圾邮件脚本,而是我刚刚从 python 和 selenium 开始制作的脚本。

如果我手动启动程序,程序本身运行良好。 然后就没有问题了,chromedriver 是无头的,因为我不需要查看整个过程chrome_options.add_argument("--headless")

然后我从这里看到了一个帖子调度 Python 脚本

我确实遵循了它设置

但我遇到的问题是,每次都是时间,程序开始了。 它出现了脚本,然后是我设法打印的快速错误

错误

我可以看到 Chromedriver 存在问题。 事情就是现在。 如何使此脚本在 Chromedriver 在后台运行的情况下完成计划任务。 我可能做错了设置,但程序手动运行,所以我猜 Windows 计划任务可能有问题?

基本上我只希望脚本每隔 xx:xx 时间在后台运行。

如果需要更多信息,请随时发表评论。

    chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument('--disable-notifications')
chrome_options.add_argument("--headless")
chrome_options.add_argument("--user-agent=Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.implicitly_wait(5)

您使用的驱动程序太旧,无法识别 ChromeHeadless,您需要使用 2.29 或更高版本:

Selenium ChromeDriver 无法识别新编译的 Headless Chromium (Python)

我遇到了同样的问题(使用较新的“无头”版本),解决方案是将 Windows 计划任务作为“管理员”(使用“s”)运行。

我遇到了这个问题,几乎放弃了任务调度程序并开始编写将运行我的网络抓取应用程序的 Windows 服务。 如果您遇到异常 chrome unreachable 或 chrome 没有从 HTTP 服务器获得响应...

这使我的应用程序甚至可以通过任务调度程序工作。

任务计划程序 -> 继续任务 -> 属性 -> 条件 > 在网络下 -> 仅当以下网络连接可用时才检查网络启动 -> 选择“任何连接”。

从这篇文章windows-10-task-scheduler-not-running 开始

在 Chrome 中使用 selenium 时,您必须确保您的 selenium 版本与您安装的 chrome 版本兼容。 如果您让应用程序运行,然后更新您的 chrome,您可能会收到无法识别的版本错误。

如果您像我一样拥有 chrome v 102.0,则需要获取与您的浏览器版本相同的最新 selenium chrome 驱动程序。

请参见下面的示例:

铬版

Chrome 驱动下载: https ://chromedriver.chromium.org/downloads Chrome 驱动下载

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM