Selenium WebDriver - 单击“保存”按钮

时间:2018-05-04 12:37:49

标签: java selenium selenium-webdriver webdriver

我正在自动化其中一个包含输入少量详细信息的方案,然后单击“保存”按钮。手动执行这些步骤时,处理和完成几乎不需要5到8秒。 但同样通过自动化脚本执行,它只是在无限时间内加载。

以下是“保存”按钮的html代码:

<button class="blueFilledButton ng-binding" ng-click="validateIdea(validateIdeaForm)" ng-disabled="userNotFound || PoupupButtonDisabled || incorrectValidDate" tabindex="0" aria-disabled="false">Save</button>

Selenium代码:我尝试过以下点击方法:

案例 - 1:

driver.findElement(By.xpath("//button[text()='Save']")).click();

案例 - 2:

Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.xpath("//button[text()='Save']"))).click().perform();

在这两种情况下,它都会继续加载。

是否因为在点击“保存”按钮后调用了任何脚本,并且webdriver与它不兼容?

请帮忙。提前致谢。

1 个答案:

答案 0 :(得分:1)

根据您与<button>共享文字的HTML 保存 Angular Element ,因此您必须诱导 WebDriverWait 对于可点击的元素,如下所示:

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='blueFilledButton ng-binding'][@ng-click=\"validateIdea(validateIdeaForm)\"]"))).click();