【问题标题】:Selenium - webdriver can find element but click action is not performedSelenium - webdriver可以找到元素但不执行点击操作
【发布时间】:2016-03-01 18:50:42
【问题描述】:

我正在尝试使用 Selenium webdriver 和 Java 自动化 Web 应用程序的功能测试。 在 AUT 中,有一个由以下 html 代码定义的“提交”按钮

<button id="submitbtn" class="btn btn-primary" type="submit">Submit</button>

我使用以下命令点击按钮。

driver.findElement(By.id("submitbtn")).click();

当我运行代码时,webdriver可以找到按钮但没有执行点击动作(我可以理解webdriver可以找到按钮,因为没有抛出异常并且我可以在代码时看到按钮上的选择正在运行)。我尝试了不同的等待

new WebDriverWait(driver,60).until(ExpectedConditions.elementToBeClickable(driver.findElement(By.id("submitbtn"));

但没有得到任何积极的结果。如果我使用,

Thread.sleep(3000);

它工作正常(但我想避免使用此代码)。我尝试了所有其他类型的等待和动作类,

Actions action=new Actions(driver);
action.moveToElement(driver.findElement(By.id("submitbtn"));
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.id("submitbtn")));
action.click().perform();

但没有运气。有什么方法可以实现吗?

【问题讨论】:

    标签: java selenium-webdriver


    【解决方案1】:

    JavascriptExecutor 怎么样?

    WebElement element = driver.findElement(By.id("submitbtn"));
    JavascriptExecutor executor = (JavascriptExecutor)driver;
    executor.executeScript("arguments[0].click();", element);
    

    【讨论】:

      【解决方案2】:

      submit() 是一个选项 driver.findElement(By.id("submitbtn")).submit();。更多信息here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-21
        • 2022-12-17
        • 1970-01-01
        • 2018-02-19
        相关资源
        最近更新 更多