我正在使用 Java 和 Selenium 为我公司的网站编写自动化测试。现在我正在编写涉及单击链接并验证链接是否指向正确位置的测试。我们有一个时事通讯弹出窗口(来自 BounceExchange)出现在非常不可预测的时间,它会导致 ElementClickInterceptedExceptions。这是异常消息:
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <li id="menu-item-78096" ... is not clickable at point (x, x). Other element would receive click <div class="bx-slab">...</div>
我一直在单击带有 的 WebElements driver.findElement(By...).click(),我读过这是在测试 UI 时单击事物的最佳方式。我试过像这样执行 JavaScript 点击,
但没有奏效,页面只是挂在屏幕上,弹出窗口。
这是我最成功的领域,但它仍然没有完全发挥作用。这是我的点击方法:
public void click(By elementBy) {
By bounceExchange = By.className("bx-slab");
By bounceExchangeClose = By.className("bx-close");
//close bouncex if its open
if(elementExists(bounceExchange)) {
WebElement bounceX = driver.findElement(bounceExchange);
if(bounceX.isDisplayed()) {
System.out.println("Closing bounce exchange");
try {
driver.findElement(bounceExchangeClose).click(); …Run Code Online (Sandbox Code Playgroud)