2016-07-22 126 views
1

這是我的代碼有無法點擊按鈕的webdriver

<button type="button" id="B-New" data-sap-ui="B-New" title="Add New Order" role="button" aria-disabled="false" tabindex="0" class="sapUiBtn sapUiBtnNorm sapUiBtnS sapUiBtnStd">Add</button> 

xpath這是"//*[@id='B-New']"

我想按一下按鈕,但無法左右。

我已經使用了XPath,ID類名的一切,但它是無法點擊。 這就是我正在使用的

driver.findElement(By.xpath("//*[@id='B-New']")).click() 

請幫忙。

我也有使用JavaScript的

jse.executeScript("document.getElementById('B-New').click()"); 

,但它也不起作用。

+0

這是完整的代碼 dimple

+0

你說的無法意思點擊?有什麼異常嗎?需要分享它。以及 –

+0

是的無法找到元素:{「method」:「xpath」,「selector」:「// * [@ id ='B-New']」} – dimple

回答

0

你應該嘗試使用WebDriverWait等到元素是可見的,並能夠以如下點擊: -

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement el = wait.until(ExpectedConditions.elementToBeClickable(By.id("B-New"))); 
el.click(); 

注意: - 如果該元素是任何frame裏面,你需要之前切換該幀使用driver.switchTo().frame("frame name or id")查找並單擊該元素。

希望它能幫助.. :)

+0

是的,我嘗試這種方式,但它仍然不能單擊該按鈕,顯示錯誤找不到元素 – dimple

+0

是,這將引發'NoSuchElementException'或' TimeoutExcpetion'? –

+0

沒有這樣的元素異常 – dimple