我们有一个.NET程序,可运行无头Chrome浏览器将网页快照到图像,这是示例代码:
class Program
{
static void Main(string[] args)
{
var p = Process.Start(
@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
$@"--headless --screenshot=E:\test{DateTime.Now:HHmmss}.png --disable-gpu --window-size=320,568 http://www.microsoft.com");
p.WaitForExit();
}
}
在Windows Task Scheduler中使用“运行是否登录用户”选项来计划控制台应用程序。该程序可以正常运行数月,但昨天失败了,我们注意到Chrome版本现在为73。幸运的是,我们发现一台Chrome仍为72的计算机,因此我们对后台计划任务进行了一次测试,将Chrome升级到73,然后再次对其进行了测试,最后得出结论- Headless Chrome 72可以在后台运行,但是Chrome 73可以在后台运行'。
有人在Chrome 73上找到相同的问题吗?
答案 0 :(得分:4)
是的,我们在这里有同样的问题。我们正在通过Selenium WebDriver运行Chrome,并且在更新为Chrome 73之后,我们的后台任务不再正常运行。降级为Chrome 72可解决此问题。
我们的诊断日志显示,以无头模式运行Chrome 73时,对Chrome进程的某些调用似乎已挂起。例如,调整浏览器大小或尝试通过WebDriver API截屏。我们尝试了许多方法来解决此问题,包括将Selenium,WebDriver和chromedriver更新到最新版本,但是它们的行为相同。
在更新后以无头模式运行Chrome 73似乎确实存在问题。