在 web table 中使用 xpath 获取中间列值和其他两列值
Getting the middle column value with the other two column values using xpath in web table
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
[https://www.w3schools.com/html/html_tables.asp]
您可以在 link 中找到示例网站 table。我想要与公司和国家的联系价值。
我试过这样的东西
//td[text()='Laughing Bacchus Winecellars']//following-sibling::td and //td[text()='Canada']//preceding-sibling::td
您可以遍历 <tr>
并使用 //tr/td[2]
到 select 第二个 <td>
。
尝试这个 select 需要 td
节点:
//td[preceding-sibling::td[.="Alfreds Futterkiste"] and following-sibling::td[.="Germany"]]
尝试以下 xpath:
//td[preceding-sibling::td[text()='Laughing Bacchus Winecellars'] and following-sibling::td[text()='Canada']]
要提取中间列值,即 Maria Anders
,您需要引入 for the visibilityOfElementLocated()
and you can use either of the following :
使用公司文本 Alfreds Futterkiste:
xpath
:
//table[@id='customers']//tr//td[text()='Alfreds Futterkiste']//following::td[1]
代码行:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[@id='customers']//tr//td[text()='Alfreds Futterkiste']//following::td[1]"))).getText());
使用国家/地区文本 德国:
xpath
:
//table[@id='customers']//tr//td[text()='Germany']//preceding::td[1]
代码行:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[@id='customers']//tr//td[text()='Germany']//preceding::td[1]"))).getText());
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
[https://www.w3schools.com/html/html_tables.asp]
您可以在 link 中找到示例网站 table。我想要与公司和国家的联系价值。
我试过这样的东西
//td[text()='Laughing Bacchus Winecellars']//following-sibling::td and //td[text()='Canada']//preceding-sibling::td
您可以遍历 <tr>
并使用 //tr/td[2]
到 select 第二个 <td>
。
尝试这个 select 需要 td
节点:
//td[preceding-sibling::td[.="Alfreds Futterkiste"] and following-sibling::td[.="Germany"]]
尝试以下 xpath:
//td[preceding-sibling::td[text()='Laughing Bacchus Winecellars'] and following-sibling::td[text()='Canada']]
要提取中间列值,即 Maria Anders
,您需要引入 visibilityOfElementLocated()
and you can use either of the following
使用公司文本 Alfreds Futterkiste:
xpath
://table[@id='customers']//tr//td[text()='Alfreds Futterkiste']//following::td[1]
代码行:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[@id='customers']//tr//td[text()='Alfreds Futterkiste']//following::td[1]"))).getText());
使用国家/地区文本 德国:
xpath
://table[@id='customers']//tr//td[text()='Germany']//preceding::td[1]
代码行:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[@id='customers']//tr//td[text()='Germany']//preceding::td[1]"))).getText());