我只能在Chrome浏览器中看到。
完整的错误消息显示为:
“ org.openqa.selenium.WebDriverException:元素在点(411,675)不可点击。其他元素将获得点击:…”
“将获得点击”的元素位于相关元素的侧面,而不是在其顶部且不重叠,也不在页面上移动。
我曾尝试添加偏移量,但这也不起作用。该项目位于显示的窗口中,无需滚动。
这是由以下3种类型引起的:
1.单击该元素不可见。
使用Actions或JavascriptExecutor使其单击。
通过动作:
WebElement element = driver.findElement(By("element_path")); Actions actions = new Actions(driver); actions.moveToElement(element).click().perform();
通过JavascriptExecutor:
JavascriptExecutor jse = (JavascriptExecutor)driver; jse.executeScript("scroll(250, 0)"); // if the element is on top. jse.executeScript("scroll(0, 250)"); // if the element is on bottom.
要么
JavascriptExecutor jse = (JavascriptExecutor)driver; jse.executeScript("arguments[0].scrollIntoView()", Webelement);
然后单击元素。
2.页面在单击元素之前已刷新。
为此,使页面等待几秒钟。
3.该元素是可单击的,但其顶部有一个微调器/叠加层
下面的代码将等待,直到覆盖消失
By loadingImage = By.id("loading image ID"); WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds); wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));