2016-07-22 88 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