java - anchor 标记不可点击

标签 java selenium selenium-webdriver selenium-chromedriver

WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("(//a[contains(text(),'Download')])")));   
WebElement download = driver.findElement(By.xpath("(//a[contains(text(),'Download')])"));
download.click();

我正在尝试通过 selenium 单击 chrome 中的下载链接。它在页面中有许多其他链接,并且这些链接都有效,但仅此下载链接就会导致 timeout exception .

页面中的 anchor 标记如下

<a href="https://www.somexyz.com/key/url?url=http%3A//www.somexyz.net/webform_protected_file/lwhW0167ec9HZBEefQrIoSg6JpnW0zvlQyxL-iaR8Ms/download" target="_other" rel="nofollow">Download file</a>

如有任何建议,我们将不胜感激。

最佳答案

driver.switchTo().frame("msg_body");
                WebDriverWait wait = new WebDriverWait(driver,30);
                wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("(//a[contains(text(),'Download')])")));   
                WebElement download = driver.findElement(By.xpath("(//a[contains(text(),'Download')])")); 
                download.click();

上面的代码对我有用,首先将驱动程序切换到预期的 iframe,然后选择有效的链接。

关于java - anchor 标记不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60073277/

相关文章:

jquery - 如何在网络驱动程序中检查页面是否已完全加载?

javascript - 如何使用 Protractor 获取浏览器 API 调用?

java - 是否需要使用 driver.close() 方法?

java - Spark 问题的 GCS 连接器 - 获取存储桶时出错

java - java如何测试条件

使用数组和 arrayList 的 Java 类

java - 无法通过 Selenium 和 WebDriver 定位元素

java - Object.hashCode() 是 31 位有什么原因吗?

ruby - 远程 Webdriver 功能 - 移动用户代理

java - 如何使用 Selenium 运行 Chromium 浏览器?