我在使用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
的任何属性打印任何内容。有什么方法可以解决这个问题吗?感谢所有帮助,谢谢
答案 0 :(得分:2)
尝试点击你的nobr下面的span元素:
option1.findElement(By.xpath("span")).click();
因为它似乎是可点击的元素。
答案 1 :(得分:0)
你也可以试试这个:
driver.findElement(By.linkText("View Monthly Invoices")).click()