我有一个正在使用 java 和 selenium 的项目。
在UI模式下测试工作正常。
但是在无头模式下我收到此错误
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <label _ngcontent-yrc-c26="" formcontrolname="reportingDealPermission" nz-checkbox="" class="ant-checkbox-wrapper ng-untouched ng-pristine ng-valid" ng-reflect-name="reportingDealPermission">...</label> is not clickable at point (161, 562). Other element would receive the click: <div _ngcontent-yrc-c26="" class="footer">...</div>
我该如何解决这个问题(在 UI 模式下工作)。这是我的代码
WebDriver driver = getWebDriver();
WebElement element;
Thread.sleep(60000);
element = driver.findElement(By.xpath("//label[@formcontrolname='reportingDealPermission']"));
element.click();
为什么在硒中没有移动到元素并打破所有层的操作。
这是用户界面。
这在 UI 模式下工作,在无头模式下工作,睡眠了 6 分钟但没有解决,所以这不是时间问题
这个错误信息...
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <label _ngcontent-yrc-c26="" formcontrolname="reportingDealPermission" nz-checkbox="" class="ant-checkbox-wrapper ng-untouched ng-pristine ng-valid" ng-reflect-name="reportingDealPermission">...</label> is not clickable at point (161, 562). Other element would receive the click: <div _ngcontent-yrc-c26="" class="footer">...</div>
...意味着click所需元素上的内容被其他一些元素拦截。
单击一个元素
理想情况下,在调用时click()
在您需要诱导的任何元素上WebDriver等待 https://stackoverflow.com/questions/48989049/selenium-how-selenium-identifies-elements-visible-or-not-is-is-possible-that-i/48990165#48990165为了elementToBeClickable()
您可以使用以下任一方法定位策略 https://stackoverflow.com/questions/48369043/official-locator-strategies-for-the-webdriver/48376890#48376890:
-
cssSelector
:
new WebDriverWait(getWebDriver(), 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("label[formcontrolname=reportingDealPermission][ng-reflect-name=reportingDealPermission]"))).click();
-
xpath
:
new WebDriverWait(getWebDriver(), 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//label[@formcontrolname='reportingDealPermission' and @ng-reflect-name='reportingDealPermission']"))).click();
Update
更改为后headless如果它仍然不起作用并且仍然出现异常,那么仍然需要考虑以下其他一些措施:
您可以在中找到详细的讨论无法在无头模式下最大化 Chrome 窗口 https://stackoverflow.com/questions/45374377/not-able-to-maximize-chrome-window-in-headless-mode/45374670#45374670
参考
您可以在以下位置找到一些相关的讨论:
- Selenium Webdriver 和 Java。元素在点 (x, y) 处不可单击。其他元素将收到点击 https://stackoverflow.com/questions/44912203/selenium-web-driver-java-element-is-not-clickable-at-point-x-y-other-elem/44916498#44916498
- 元素 MyElement 在点 (x, y) 处不可点击...其他元素将收到点击 https://stackoverflow.com/questions/44724185/element-myelement-is-not-clickable-at-point-x-y-other-element-would-receiv/44724688#44724688
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)