2016-08-29 160 views
0

我在点击链接。但它显示元素未找到消息。这是我的HTML代码:
<a id="expTo" class="formblue_link padRight10 exportLinkActive" style="display: block; margin-left: -50px; margin-bottom: -20px;" href="javascript:;"> Export To</a>无法点击selenium webdriver中的链接

我的代码是:

 `driver.findElement(By.linkText("Export To")).click();` 

回答

2

你应该尝试使用WebDriverWait等到元素可见并且可以点击如下: -

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.id("expTo"))).click(); 

注意: - 在找到此元素之前,请确保它不在frame/iframe之内。如果存在任何frame/iframe里面,你需要找到它之前可以切换frame/iframe: -

driver.switchTo().frame("frame/iframe name or id"); 
+1

谢谢Saurab。它为我工作。 – kurri

3

它recomanded不要试图通过按钮或项目要查找的文本元素。这可以很容易改变,而页面仍然在发展,所以我会建议使用由id点击,而不是通过文字

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

也有另类的CSS点击例如:

driver.findElement(By.cssSelector(".css-class-name")); 

所有其他选择,可以发现here

+0

我尝试了上述选择。但没有为我工作。请提供其他选项。 – kurri

+0

这种方法如何找到元素应该是正确的。然而,正如@Saurabg Gaur在他的回答中提到的那样,可能会出现“iframe”问题,或者您尝试单击尚不可见的元素。我记得我与两个选项米利昂时间战斗:) – Andurit

相关问题