2016-03-01 174 views
0

我试图使用Selenium webdriver和Java自动化Web应用程序的功能测试。 在AUT,存在通过下面的HTML代码Selenium - webdriver可以找到元素,但不执行点击操作

<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(); 

但没有运气。有什么办法可以做到这一点?

回答

1

JavascriptExecutor怎么样?

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

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

相关问题