Selenium FindElement 和 Chrome 处于无头模式



启动chromedriver后.exe在无头模式下遵循此建议并仅使用这些参数

options.AddArgument("headless");
options.AddArgument("window-size=1280,960");

版面驱动程序以不可见的方式打开。但是Selenium的FindElement()命令在无头Chrome页面上找不到任何东西。 相反,它会抛出以下异常:

WebDriver 中发生了类型为"OpenQA.Selenium.NoSuchElementException"的异常.dll但未在用户代码中处理

附加信息:无此类元素:无法找到元素:

Q1:有没有人在Chrome的无头模式下成功运行Selenium命令?

Q2:您是否能够将FindElement与以无头模式运行的 chromedriver 一起使用? 如果是,你是怎么做到的?


阅读更多内容后,也许可能需要类似的东西?将其添加到Chrome启动选项中,然后可能将chromedriver连接到它?
"remote-debugging-port=9222"
但是使用该选项,IWebDriver和chromedriver不会打开。

>背景信息:回答,你为什么要这样做? 主要原因是测试作为 CI 的一部分运行。 这些是在 VM 上运行的测试,可能不支持 1080p 监视器。如果我们在无头模式下运行它并以这种方式设置分辨率。

在主类中添加以下代码行:

ChromeOptions options = new ChromeOptions(); 
options.setHeadless(true); 
options.addArguments("--window-size=1920,1080"); 
options.addArguments("--disable-gpu"); 
options.addArguments("--disable-extensions"); options.setExperimentalOption("useAutomationExtension", false); options.addArguments("--proxy-server='direct://'"); 
options.addArguments("--proxy-bypass-list=*"); 
options.addArguments("--start-maximized");
options.addArguments("--headless"); 
WebDriver driver = new ChromeDriver(options);

相关内容

  • 没有找到相关文章

最新更新