无法单击selenium webdriver中的链接

时间:2016-08-29 14:22:15

标签: javascript firefox selenium-webdriver

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

我的代码是:

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

2 个答案:

答案 0 :(得分:3)

重新考虑不要试图按按钮或项目文本找到元素。当页面仍处于开发状态时,这可以轻松更改,因此我建议使用id而不是文字点击

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

还有css点击的替代方法,例如:

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

可以找到所有其他选择器here

答案 1 :(得分: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");