这是错误消息:
org.openqa.selenium.WebDriverException: unknown error: Element <div class="col-md-2 col-sm-2 hidden-xs days" id="lblday3">...</div> is not clickable at point (799, 308). Other element would receive the click: <div class="modal-body text-center">...</div>
(Session info: chrome=69.0.3497.100)
大家好,以上异常在我的项目的ThankYou页面中引发。我已经尝试更改等待时间,但是它也不起作用。下面是我使用的方法。
public void Clickthankyou() throws InterruptedException
{
if(driver.findElement(By.xpath("//*[@id='id_appoint']/h2")).isDisplayed())
{
WebDriverWait wait = new WebDriverWait(driver, 6);
WebElement elem =wait.until(ExpectedConditions.elementToBeClickable(Dateselect));
if(elem.isDisplayed())
{
elem.click();
}
Thread.sleep(2000);
driver.findElement(Clickbook).click();
}
else
{
driver.navigate().back();
}
答案 0 :(得分:1)
此异常的基本原因是由于用户看到的浏览器窗口的ViewPort。
您需要滚动到特定元素,然后单击它。
关键是元素不可见,因此不适合单击。
好的,请使用此代码使用JavascriptExecutor进行修复,
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeAsyncScript('arguments[0].scrollIntoView(true)', driver.findElement(By.xpath("//*[@id='id_appoint']/h2")))
js.executeAsyncScript('window.scrollBy(0,-150)')
,或者您也可以使用Actions类执行相同的操作。
new Actions(driver).moveToElement(driver.findElement(By.xpath("//*[@id='id_appoint']/h2"))).click().perform();