我制作了一个基于Selenium和Chromedriver的脚本。基本上是一个登录网站的程序。写一条评论(来自计算机的txt文件),然后关闭程序,不是它不是垃圾邮件脚本,而是我刚开始使用python和selenium创建的脚本。
如果我手动启动它,程序本身效果很好。然后没有问题,而且chromedriver是无头的,因为我不需要看到整个过程chrome_options.add_argument("--headless")
然后我在这里看了一篇帖子Scheduling a Python Script
但我遇到的问题是每次都是时间和程序开始。它出现了脚本,然后是我设法打印的快速错误
我可以看到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)
答案 0 :(得分:2)
您使用的驱动程序太旧且无法识别ChromeHeadless,您需要使用2.29或更高版本:
Selenium ChromeDriver does not recognize newly compiled Headless Chromium (Python)
答案 1 :(得分:0)
我遇到了同样的问题(具有更新的“无头”版本),解决方案是将Windows计划任务作为“管理员”(带有“ s”)运行。
答案 2 :(得分:0)
我遇到了这个问题,几乎放弃了任务计划程序,开始编写Windows服务,该服务将运行我的Web抓取应用程序。如果您遇到无法访问的chrome异常或chrome无法从HTTP服务器获得响应的情况...
这使我的应用程序甚至可以通过任务计划程序运行。
任务计划程序->继续执行任务->属性->条件>在网络下->仅在以下网络连接可用时检查网络启动->选择“任何连接”。
进行操作