我有一张表格,如:
<Table>
<tr class="x1">
<th>test</th>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr class="x2">
<th>test2</th>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr class="x3">
<th>test3</th>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
</table>
如何从<th>
获取值?
我的想法是:创建一个将在桌面上运行的每个<th>
。
有可能吗?任何人都知道如何使用selenium-webdriver(JAVA)
我的解决方案
ArrayList<String> tableList = new ArrayList<String>();
for(int i = 1; i<=NUMBEROFROWSINYOURTABLE;i++){
tableList.add(driver.findElement(By.xpath("//div[@id='heatmap-container']/table/tbody/tr["+i+"]/th")).getAttribute("title"));
}
但你也可以按照@AndyPerfect答案的例子,:))
答案 0 :(得分:0)
以下示例在Python中,但它应该让您了解如何执行此操作。基本上,通过任何可用的方式获取表元素。然后,在该元素上,调用findElements搜索标记名为&#34; th&#34;的所有元素。这将为您提供该特定表中所有th
元素的列表。然后,只需遍历元素并打印它们的值或其他任何内容。
table_element = driver.find_element_by_id("tableid")
th_elements = table_element.find_elements_by_tag_name("th")
for element in th_elements:
print element.text
在Java中,它看起来像这样
WebElement tableElement = driver.findElement(By.id("tableid"));
List<WebElement> thElements = tableElement.findElements(By.tagName("th"));
for (int i = 0; i < thElements.size(); i++) {
System.out.println(thElements.get(i).getText());
}