java - selenium - 我可以获取元素的文本但不能单击其链接

时间:2014-06-17 21:43:10

标签: java html selenium

我在使用firefox中的selenium webdriver点击网页中的链接时遇到问题。

以下是有关此问题的代码片段:

WebElement option = driver.findElement(By.id("AccNumSpan" + i));
                if(option.getText().contains("48494")){ 
                    List <WebElement> listOfOptions1 = driver.findElements(By.xpath("//*[@id='row" + i +"']/td[10]/nobr"));
                    for(WebElement option1 : listOfOptions1){
                        System.out.println(option1.getText());

                        String id = option1.getAttribute("id");
                        System.out.println(id);
                        option1.click();
}

以下是我要点击的链接的html:

<td class="cell" align="left">
<nobr>
<span id="link15796367" class="stmtListTableLinkDocument" onclick="billDocsClient.ShowDocTypeList(event, 'table#StatementTable', 'span#link15796367', 908244, 15796367, '6728_22198', '48494 (Merrill Lynch Europe PLC)', '6/1/2014', '34969691/175474');" onmouseout="this.className='stmtListTableLinkDocument'" onmouseover="this.className='docLink'">View Monthly Invoices</span>
</nobr>
</td>

当我运行代码时,它会从option1.getText打印“查看每月语句”(所以它确实找到了元素),但是当我尝试option1.click()时(这是我想要做的)没有任何反应,除了文本加下划线或除了链接未打开之外的任何内容。此外,它不会为option1.getAttribute(“id”)或使用.getAttribute

的任何属性打印任何内容。

有什么方法可以解决这个问题吗?感谢所有帮助,谢谢

2 个答案:

答案 0 :(得分:2)

尝试点击你的nobr下面的span元素:

option1.findElement(By.xpath("span")).click();

因为它似乎是可点击的元素。

答案 1 :(得分:0)

你也可以试试这个:

driver.findElement(By.linkText("View Monthly Invoices")).click()