Java 将每个放在桌子上

Java 将每个放在桌子上,java,selenium,selenium-webdriver,ui-automation,gui-testing,Java,Selenium,Selenium Webdriver,Ui Automation,Gui Testing,我有一张桌子的结构如下: <Table> <tr class="x1"> <th>test</th> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr> <tr class="x2"> <th>test2</th> <td&

我有一张桌子的结构如下:

<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>
如何从中获取值? 我的想法是:为每个人创建一个表格。 可能吗?有人知道如何使用SeleniumWebDriverJava实现这一点吗

我的解决方案 ArrayList tableList=新的ArrayList;
forint i=1;我下面的例子是用Python编写的,但它应该能让您了解如何做。本质上,通过任何可用的方法获取table元素。然后,在该元素上,调用findElements搜索标记名为th的所有元素。这将为您提供该特定表中所有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());
}

正常情况下,所有标记都在第一个Yes中,但在本例中,每个TR都有一个th,下面是JAVA List tableElement=driver.findElementsBy.idtableid中的代码;列出元素=tableElement.findElementsBy.tagNameth;对于int i=0;i