我想点击链接。但它显示元素未找到消息。这是我的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();`
答案 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");