点击链接无效,显示如下错误。我尝试使用Xpath和Linktext
代码
driver.findElement(By.linkText("Repayment Options")).click();
driver.findElement(By.xpath(".//*@id='menucontent']/div/nav/ul/li[6]/a")).click();
错误
"Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Element
<a href="/RepaymentOptions/RepaymentOptions">...</a> is not clickable at point (312, 404).
Other element would receive the click:<div class="modal-backdrop fade"></div>"
答案 0 :(得分:0)
如果仔细查看错误,它会告诉您问题所在。 Selenium试图点击你请求的元素,但它目前被另一个元素阻止。如果您查看将收到点击的元素的HTML,您将看到
<div class="modal-backdrop fade"></div>
这可能是目前正在运行的对话框背后的半透明背景,或者您可能只是被解雇但浏览器比您的代码慢一点。解决这个问题的一种方法是等待这个模态背景消失。你可以这样做
new WebDriverWait(driver, 3).until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("div.modal-backdrop")));
driver.findElement(By.linkText("Repayment Options")).click();
driver.findElement(By.xpath(".//*@id='menucontent']/div/nav/ul/li[6]/a")).click();
答案 1 :(得分:0)
如果您遇到任何您无法直接处理的异常困难,那么您可以先尝试使用操作类移动到该元素,然后单击它如下所示:
WebElement we = driver.findElement(By.cssSelector("#menucontent > div > nav > ul > li:nth-child(6) > a");
Actions action = new Actions(driver);
action.moveToElement(we).click().build().perform();