到目前为止,我所有的测试都运行正常,为了提高速度,我尝试在无头模式下运行所有测试,但其中一个测试失败,其中一个错误如下:
OpenQA.Selenium.ElementNotInteractableException: element not interactable
(Session info: headless chrome=87.0.4280.141)
Rastreamento de Pilha:
RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parameters)
RemoteWebElement.Execute(String commandToExecute, Dictionary'2 parameters)
RemoteWebElement.Click()
返回该错误的行是
Driver.FindElement(By.CssSelector("#page_content_inner > div.uk-grid > div > div:nth-child(2) > div > div > div > ul > li:nth-child(2) > a")).Click();
其他人被截获:
(Session info: headless chrome=87.0.4280.141)
Rastreamento de Pilha:
RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parameters)
RemoteWebElement.Execute(String commandToExecute, Dictionary'2 parameters)
RemoteWebElement.Click()
生成错误的行是:
Driver.FindElement(By.Id("ClientesConvenio")).Click();
我真正的问题是:无头模式有任何限制吗?有没有初学者的知识,我应该使用无头模式?为什么会这样?
正如@Nick Bailey在他的评论中有时提到的...无头模式的行为不同于完整的浏览器...原因是:
理想情况下,单击()上的元素,你必须诱导WebDriver等待ElementToBeClickable()
,你可以使用以下定位器策略:
>
身份证:
new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.Id("ClientesConvenio"))).Click();
CSS选择器:
new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("#page_content_inner > div.uk-grid > div > div:nth-child(2) > div > div > div > ul > li:nth-child(2) > a"))).Click();
您可以在以下网站找到一些相关的详细讨论:
我用的是chrome第77版,测试一些下载。但我不明白为什么它不让在无头模式下下载文件(只发生在无头模式下)。这是我正在使用的代码。 _chromeOptions。AddUserProfilePreference(" download . default _ Directory " ,@ "目录文件夹");_chromeOptions。adduser profile preference(" in
问题内容: 我正在使用Selenium Webdriver,Ruby 32位1.9.3,Chromedriver v2.9.248315,Chrome 38.0.2125.111 m和Jenkins 1.588的本地实例 Gems: cucumber (1.3.17),selenium-webdriver (2.43.0), watir-webdriver (0.6.11)(如果您认为有必要,可以
问题内容: 当我抓取包含使用无头选项产品的页面时,我得到不同的结果。 对于同一个问题,一次我得到未排序的结果,而另一次我得到正确的排序顺序。 Selenium firefox浏览器: 根据这篇文章: “ firefox使用无头选项时不会发送不同的头”。 如何使用无头选项从抓取中获得恒定的结果? 更新: 事实证明,广告弹出窗口隐藏了价格排序菜单。通过设置DebanjanB发布的恒定窗口大小,解决了问
当我浏览包含使用headless选项的产品的页面时,我会得到不同的结果 对于同一个问题,一次我得到的结果没有排序,另一次得到的结果排序正确。 Selenium firefox浏览器: 根据这篇帖子: “firefox在使用headless选项时不会发送不同的标题”。 如何使用无头选项从刮擦中获得恒定的结果? 更新: 原来,广告弹出窗口隐藏了价格排序菜单。通过设置DebanjanB发布的恒定窗口大小
问题内容: 我想无头运行Firefox。 Firefox不隐藏浏览器窗口或在虚拟桌面中打开它,而是通过使用“ -headless”标志来支持无头模式。 问题是我知道如何在Chrome中执行此操作,但在Firefox中却不行。 我的代码: 我的WinForm应用程序只有一个名为StartBtn的按钮。单击该按钮后,Firefox应该无头运行,但会在正常窗口中打开。 更新 我将firefox更新为56
我做我的代码在CromeDrive在'正常'模式和工作正常。当我切换到无头模式时,它不会下载文件。我已经尝试了我在互联网上找到的代码,但是不起作用。 有人知道如何解决这个问题吗? PS:我不一定要用Chomedrive。如果它在另一个驱动器中工作,对我来说没问题。