gpt4 book ai didi

selenium - 无法进行模式匹配

转载 作者:行者123 更新时间:2023-12-03 16:53:22 26 4
gpt4 key购买 nike

我的HTML页面中有下表。

  <div id="mDisplayCiteList_ctl00_mCiteListSpacingDiv">
<table>
<tr>
<td class="ResultListTableHeader">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<table>
<tr>
<td colspan="3">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<table>
<tr>
<td><span class="x">Content</span></td>
<td><span class="x">Content1</span></td>
</tr>
</table>
<table>
<tr>
<td><span class="x">Content</span></td>
<td><span class="x">Content1</span></td>
</tr>
</table>
</div>


我正在尝试将 td元素放入具有以下条件的列表中。

td的第一个 tr不应具有 colspan或类名作为 ResultListTableHeader
我尝试了下面的XPATH。

List<WebElement> multiBases = chromeDriver.findElements(By.xpath(
".//*[@id='mDisplayCiteList_ctl00_mCiteListSpacingDiv']/descendant::table/descendant::tr[not(td[1]/@class='ResultListTableHeader' and td[1]/@colspan)]/td[4]/span"));
for (int i = 0; i < multiBases.size(); i++) {
System.out.println(multiBases.get(i).getText());
}


这没有做任何事情,甚至没有抛出任何异常。

我也尝试用 and替换 or,但仍然没有用。

预期产量

在这里,我想获取content1(第三行第二列)和content1(第四行第二列),因为这些行的第一列(td)没有类名,如ResultListTableHeader或colspan

请让我知道我该如何解决。另外,如果还有其他更好的方法,请告诉我。

谢谢

最佳答案

它并不漂亮,但是您要查找的XPath如下:

//table/tr/td[1][not(contains(@class, "ResultListTableHeader")) and not(@colspan)]/following-sibling::td[1]/span


这将在第一个 span元素之后的第一个 td元素内选择 td,该元素是 tr元素的第一个子元素,并且没有类名 ResultListTableHeader或属性 colspan

关于selenium - 无法进行模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33083967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com