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

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

【问题讨论】:

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

标签: java eclipse selenium selenium-chromedriver qa


【解决方案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() 将起作用。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多