Selenium webdriver:我如何点击这些链接?
Selenium webdriver: How can I click these links?
<a onclick="requestReportGeneration('857f23e1baa767622a91f970963d8918', 'reportDiv31','CSV')" href="javascript:void[0];">CSV</a>
<a onclick="requestReportGeneration('64107e36323e5877c986edc98a17b6e8', 'reportDiv32','CSV')" href="javascript:void[0];">CSV</a>
<a onclick="requestReportGeneration('2cad4d4e5c8855c47a88b6ddf8345735', 'reportDiv33','CSV')" href="javascript:void[0];">CSV</a>
我在一个页面上有这三个链接,我想依次点击每一个。我正在阅读页面上的所有链接到一个web元素列表,然后我依次通过每个链接,如果href包含javascript:void[0]我然后尝试点击它:
for (int i = 0; i < allLinks.size(); i++) {
String reportLink = allLinks.get(i).getAttribute("href");
if (reportLink.contains("javascript:void[0];"))
{
allLinks.get(i).click();
/// Do some more stuff
}
问题是我一直得到一个错误说元素是不可见的。我也试过只是加载页面,而不是得到所有的链接做
driver.findElement(By.xpath("//a[contains(@href,'"javascript:void[0]'")]")).click();
但这也会给出元素不可见的错误。有人能告诉我为什么不行吗?
尝试在while循环之前放置一个断点,调试脚本,然后进入该断点并使用Eclipse的Display选项卡查询链接的情况。试着对如下样例语句求值:
allLinks.size();
allLinks.get(i).isDisplayed();
allLinks.get(i).isEnabled();
这些链接肯定有什么奇怪的地方(或者webdriver看到它们的方式),但是像这样的调试将让你发现它是什么。
相关文章:
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- AngularJs正在阻止链接被点击两次
- 有没有一种方法可以让链接不可点击,但仍然可以使用:悬停
- 正则表达式使链接可点击(仅在“href”而不是“img src”中)
- YUI3-具有相同类的链接的点击事件处理
- 使用jquery链接可点击性
- 使用 :not() 忽略对子链接的点击
- 跟踪外部链接的点击
- 如何使用 Python 和 Selenium 获取链接的点击“操作”
- Php/HTML/css:链接不可点击
- 行夹紧和松开,链接的点击事件
- 如何触发带有 AUI 的链接的点击 javascript
- 同时使用
链接和<点击>功能 - 包装视频标记的超链接 - 为点击处理程序设置了错误的目标
- 链接与点击
- 香草引导程序导航栏链接不可点击
- ipad safari 8.0.2链接不可点击
- 如何使用AngularJS使图像链接不可点击
- 当链接被点击时,英镑符号会出现在我的URL中
- 设计一个简单的系统来跟踪链接被点击的次数