java上的.click()方法不起作用

Posted

技术标签:

【中文标题】java上的.click()方法不起作用【英文标题】:.click() method on java not work 【发布时间】:2018-05-24 17:02:50 【问题描述】:

我已在此链接“Click() method will not always work”上尝试过脚本 但是 .click() 方法也不起作用

【问题讨论】:

请发布您的无效代码 请发布您的代码和相关的 html 部分,以便利他主义者可以进一步提供帮助 这是我的代码 driver.findElement(By.className("close")).click(); 【参考方案1】:

在尝试单击元素之前,请确保页面已完全加载。

 new WebDriverWait(firefoxDriver, pageLoadTimeout).until(webDriver ->

 ((javascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));

您还可以添加隐式等待:

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

如果这不起作用,请确保页面已滚动到元素并且没有隐藏元素。

作为最后的手段,您可以尝试.click() 方法的替代方法sendKeys(Keys.RETURN)

【讨论】:

请分享您尝试使用的 html 的一部分。【参考方案2】:

如果 web 元素不存在,那么 click() 或 .click() 都不起作用。

所以首先搜索网页上是否存在该元素 如果存在,则使用 click() 别的 使用 WebDriverWait() 等待更多时间。

【讨论】:

【参考方案3】:

如果您传递了正确的定位器并且它是可点击的,那么click() 将起作用。

    尝试使用隐式等待。 检查按钮是启用还是禁用。 ele.已启用; 使用显式等待 wait.Until(ExpectedCondition.ElementIsClickable(By.class("className"))); 此链接将帮助您:

Webdriver How to wait until the element is clickable in webdriver C#

【讨论】:

以上是关于java上的.click()方法不起作用的主要内容,如果未能解决你的问题,请参考以下文章

当 .click() 不起作用时,如何以编程方式单击此页面上的按钮?

ios 11.2.x 上的 ionic cordova 中的 Fire click 事件不起作用

HtmlUnit click() 事件不起作用并在 Java 中触发 ClassCastException

为啥我的 jQuery on click 事件不起作用?

ios微信浏览器click事件不起作用的解决方法

Java Detect Mouse Click 在窗口中的任何位置在某些区域不起作用