繁体   English   中英

创建与 Windows 任务调度程序兼容的 web 抓取程序“无论用户是否登录都运行”

[英]Creating a web scraping program compatible with Windows task scheduler “run whether user is logged on or not”

我需要能够 web 每天在需要登录凭据的网站上抓取信息。 我在 C# 中编写了一个程序,该程序使用 Selenium 和 Chrome,在正常运行时运行良好,或者在选择“仅在用户登录时运行”时通过 Windows 任务计划程序运行。 但是,Chromedriver.exe 在选择“无论用户是否登录都运行”时会停止,大概是因为此选项强制 chrome 在后台运行,因此我的程序无法输入任何登录凭据。 无论用户是否登录,我都需要能够运行该程序,因为它位于服务器上,多个用户可能同时访问它。

我尝试将 .exe 的执行包装在一个批处理文件中,并使用不同的 web 浏览器(firefox/Chrome)。

我在寻找

  1. 使 Selenium 应用程序作为后台进程工作的任何解决方案,任务计划程序选项“无论用户是否登录都运行”

或者

  1. Selenium 以外的框架,我可以使用它自动输入文本和单击,并且可以在通过 windows 任务计划程序启动的非交互模式下工作。

感谢您阅读我的问题。

看来您正在寻找使用“无头镀铬”。 根据Headless Chrome 入门

对于不需要可见 UI shell 的自动化测试和服务器环境,无头浏览器是一个很好的工具。

查看以下镀铬开关(选项):

  • --headless(或“无头”)
  • --禁用-gpu

以下是 chrome 开关(选项)的一些资源:

根据ChromeOptions Class文档,您应该能够执行以下操作:

ChromeOptions options = new ChromeOptions(); 

与 ChromeDriver 一起使用:

ChromeDriver driver = new ChromeDriver(options);

以下帖子可能会有所帮助: 如何以无头模式启动 ChromeDriver

暂无
暂无

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

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