2016-03-01 175 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

相關問題