遵循此建议并仅使用这些参数以无头模式启动 chromedriver.exe
options.AddArgument("headless");
options.AddArgument("window-size=1280,960");
chromedriver 无形打开。但是 Selenium 的FindElement()
命令在 headless Chrome 页面上没有找到任何东西。相反,它抛出了这个异常:
WebDriver.dll 中出现“OpenQA.Selenium.NoSuchElementException”类型的异常,但未在用户代码中处理
附加信息:没有这样的元素:无法找到元素:
Q1:有没有人在 Chrome 的 headless 模式下成功运行 Selenium 命令?
Q2:您是否能够FindElement
与在无头模式下运行的 chromedriver 一起使用?如果是,你是怎么做到的?
在阅读更多之后,也许有必要沿着这些思路做一些事情?将此添加到 Chrome 启动选项中,然后将 chromedriver 连接到它?
"remote-debugging-port=9222"
但是使用该选项 IWebDriver 和 chromedriver 不会打开。
背景信息:回答,你为什么要这样做?主要原因是测试作为 CI 的一部分运行。这些是在 VM 上运行的测试,可能不支持 1080p 显示器。如果我们以无头模式运行它并以我们可以的方式设置分辨率。