如何使用Java

时间:2016-09-08 11:44:05

标签: selenium selenium-webdriver

当输入类型为按钮时,如何点击按钮,我使用下面的代码,点击按钮正在工作,但数据未保存。

driver.findElement(By.cssSelector("input[type='button'][value='Save']")).click();
driver.findElement(By.cssSelector("input[@type='button'][@value='Save']")).click();
driver.findElement(By.cssSelector("input[@type='button']")).click();

以下是供您参考的开发代码:

<input id="save_btn_expe" class="edit_forms_save_btn" type="button" value="Save"> 

4 个答案:

答案 0 :(得分:0)

WebElement setElement = driver.findElement(By.id("save_btn_expe"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click()", setElement);

OR

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

OR

driver.findElement(By.xpath("//input[@id='save_btn_expe']")).click();

答案 1 :(得分:0)

通过考虑你的陈述&#34;点击按钮正在工作&#34;。您可以使用submit方法发布表单数据。您可以使用另外两个替代项进行单击。以下代码位于c#:

driver.FindElement(By.Id("save_btn_expe")).submit();
// Send enter key on the element.
driver.FindElement(By.Id("save_btn_expe")).SendKeys(OpenQA.Selenium.Keys.Enter);

在尝试上述代码之前,请检查手动保存以确保保存时没有错误。

答案 2 :(得分:0)

由于它是输入标签元素,因此类型为button。click()或.submit()将不起作用。您必须提供Enter键作为输入。使用以下代码:

driver.findElement(By.xpath("//input[@id='save_btn_expe']")).sendKeys(org.openqa.selenium.Keys.ENTER);

我希望这对您一样,对我也一样。

答案 3 :(得分:0)

如果在 DOM 中使用 for,下面的选择器对我有用:

Selenide.$("label[for=\"save_btn_expe\"]").click();