当前位置: 首页 > 面试题库 >

调试“元素不可点击”错误

方权
2023-03-14
问题内容

我只能在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));

然后单击元素。



 类似资料:
  • “将接收点击”的元素位于所讨论的元素的旁边,而不是在其顶部,也不是与之重叠,也不是在页面中移动。 我试过添加一个偏移量,但那也不起作用。该项目在显示的窗口上,不需要滚动。

  • 当试图单击appl上的按钮时,我收到以下错误: WebDriverException:在点(x,y)不能单击元素。其他元素将收到click: 操作没有发生,但对象正在被识别。然后显示错误消息而失败。 请告诉我如何解决这个问题。谢谢

  • 问题内容: 这个问题是由于总的中间在试图忠实于什么实际用户一样。所以我在想这种方法: 首先,而不是查找元素,然后单击: 编写单击以下内容的通用函数: 然后,当发生此异常时,请尝试以其他方式单击。 您认为这种方法可行吗? 问题答案: 请仔细阅读此堆栈溢出答案以更好地理解。 更新 我们也可以尝试 也请尝试如下 尝试使用Y坐标单击 尝试使用X坐标单击 希望这对您有帮助

  • 我有一个使用Selenium WebDriver版本3.6和Chrome驱动程序的自动化项目。软件运行良好,直到它开始显示错误 未知错误:元素在点(25,-9)处不可单击(会话信息:Chrome=61.0.3163.100)(驱动程序信息:ChromeDriver=2.31.488763(092DE99F48A300323ECF8C2A4E2E7CAB51DE5BA8),平台=Windows NT

  • 问题内容: 我有以下问题。我在Firefox和Chrome上运行测试。在Firefox上测试可以正常运行,但在Chrome SauceLabs上会显示一条消息: 我在两种测试中均通过唯一的CSS选择器选择元素,方式相同: 有什么主意在这里吗? 问题答案: 我假设您具有所需的正确元素,即XPath是正确的。这里有几种方法: 尝试单击代替。 试试看 代替 尝试执行将在您要单击的元素事件时执行的。 我一