【发布时间】:2014-05-30 05:41:33
【问题描述】:
我一直在网上寻找答案,似乎没有运气。
这里的问题是我试图找到以下没有为表定义 id 的动态表:
<div class="modal-body">
<table class="table table-striped data-table">
<thead>
<tr>
<th dt-bSortable="false">Name</th>
<th dt-bSortable="false">ID</th>
<th dt-bSortable="false">Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>NameA</td>
<td>111</td>
<td>nameA@test.com</td>
</tr>
<tr>
<td>NameB</td>
<td>222</td>
<td>nameB@test.com</td>
</tr>
...
我需要的是基于给定 ID 的内容,我可以找到相应的名称和电子邮件。但首先,我应该找到桌子。我尝试了以下方法,但都没有奏效:
WebElement table = driver.findElement(By.className("table table-striped data-table"));
WebElement table = driver.findElement(By.xpath("//table[@class='table table-striped data-table']"));
WebElement table = driver.findElement(By.cssSelector("table.table-striped"));
我也尝试通过以下方式直接获取所有行:
List<WebElement> rows = driver.findElements(By.xpath("//table[@class='table table-striped data-table']/tbody/tr"));
但是rows.isEmpty() 总是返回true。
请帮助我解决这个问题。提前感谢您的任何建议。
【问题讨论】:
-
xpath
//table[@class='table table-striped data-table']/tbody/tr在我的测试中工作。 div 是否包含在frame或iframe中? -
我无法从 html 源代码中找到“frame”或“iframe”,但表格是在弹出对话框中生成的。
-
findElements 能给你什么?
-
它给出了java异常,当我尝试打印它时什么也不返回。
标签: selenium xpath selenium-webdriver web-scraping