[英]In selenium Anchor tag onclick function not working?
我有javascript onclick为:
<a href="#" id="download" onclick="Exceldownload('sites')">
<i class="fa fa-download card-down-icon" aria-hidden="true"></i>
</a>
在硒中我添加如下:
public void x() {
driver.findElement(By.xpath("//a[@onclick='Exceldownload("sites")']")).click();
}
但由于元素不可点击,我收到错误。
可能性
如果一切正确,请尝试点击java脚本点击,如代码段所示。
WebElement element =driver.findElement(By.xpath("//a[@onclick='Exceldownload("sites")']")); JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("arguments[0].click();", element);
元素不可点击
此问题可能有多种原因,如下所示:
也许像加载图像这样的其他元素会覆盖元素,并在元素完全加载后消失。 然后你应该等到元素可点击:
new WebDriverWait(driver, 60).until( ExpectedConditions.elementToBeClickable(By.id("download"))).click();
也许有多个元素存在于同一个定位器,不幸的是,您正在找到一个隐藏元素,该元素存在于页面上但不可点击。 然后,您需要使用唯一的定位器。
也许这是由于设计问题而发生的。 可能有一些其他元素覆盖元素并且正在接收click事件。 然后,您可以使用JavascriptExecutor
作为替代解决方案:
((JavascriptExecutor)driver).executeScript( "arguments[0].click();", driver.findElement(By.id("download")));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.