当前位置: 首页 > 知识库问答 >
问题:

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

邢冷勋
2023-03-14

“将接收点击”的元素位于所讨论的元素的旁边,而不是在其顶部,也不是与之重叠,也不是在页面中移动。

我试过添加一个偏移量,但那也不起作用。该项目在显示的窗口上,不需要滚动。

共有1个答案

何修能
2023-03-14

这是由以下三种类型引起的:

1.元素不可见,无法单击。

使用Actions或JavascriptExecutor使其单击。

WebElement element = driver.findElement(By("element_path"));

Actions actions = new Actions(driver);

actions.moveToElement(element).click().perform();
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); 

为此,使页面等待几秒钟。

3.元素是可点击的,但其顶部有一个旋转器/覆盖层

下面的代码将一直等到覆盖层消失

By loadingImage = By.id("loading image ID");

WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);

wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
 类似资料:
  • 问题内容: 我只能在Chrome浏览器中看到。 完整的错误消息显示为: “ org.openqa.selenium.WebDriverException:元素在点(411,675)不可点击。其他元素将获得点击:…” “将获得点击”的元素位于相关元素的侧面,而不是在其顶部且不重叠,也不在页面上移动。 我曾尝试添加偏移量,但这也不起作用。该项目位于显示的窗口中,无需滚动。 问题答案: 这是由以下3种类

  • 当试图单击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是正确的。这里有几种方法: 尝试单击代替。 试试看 代替 尝试执行将在您要单击的元素事件时执行的。 我一