gpt4 book ai didi

java - 如何在 xpath 中选择多个标签

转载 作者:行者123 更新时间:2023-11-30 07:29:37 26 4
gpt4 key购买 nike

请访问网站“http://www.cricbuzz.com/cricket-series/2223/icc-cricket-world-cup-2015/points-table

<table class="table cb-srs-pnts">
<thead>
<tr class="cb-srs-gray-strip">
<th class="cb-col-20 cb-srs-pnts-th text-left" style="padding-left: 6px;">Pool B</th>
<td class="cb-srs-pnts-th">Mat</td>
<td class="cb-srs-pnts-th">Won</td>
<td class="cb-srs-pnts-th">Lost</td>
<td class="cb-srs-pnts-th">Tied</td>
<td class="cb-srs-pnts-th">NR</td>
<th class=" cb-srs-pnts-th">Pts</th>
<td class="cb-srs-pnts-th">NRR</td>
<th/>
</tr>
</thead>
<tbody>
</table>

我必须打印第一个表中存在的所有表标题。它具有“td”和“th”标签的组合。

我正在使用以下 xpath 来检索它们。

//h3/../table[1]/thead/tr/*[self::td or self::th]

除了文本“Pool B”外,所有值都会被打印有人可以告诉我为什么“Pool B”文本没有被选中吗?

打印输出的代码:

driver.get("cricbuzz.com/cricket-series/2223/icc-cricket-world-cup-2015/…); 
System.out.println(driver.findElement(By.xpath(" //h3/../table[1]/thead/tr/th")‌​).getText());
List<WebElement> tableHeading = driver.findElements(By .xpath("//h3/../table[1]/thead/tr/*[self: : tdorself: : th]"));
for (int i = 1; i < tableHeading.size(); i++)
{
System.out.println(i+""+tableHeading.get(i).getText());
}

最佳答案

在 for 循环中将索引设置为 0:

for (int i = 0; i < tableHeading.size(); i++) 
{
System.out.println(i+""+tableHeading.get(i).getText());
}

关于java - 如何在 xpath 中选择多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36330131/

26 4 0