gpt4 book ai didi

html - 使用 xpath 获取下一个元素

转载 作者:行者123 更新时间:2023-12-05 04:08:18 26 4
gpt4 key购买 nike

我有以下 html block ,在这种情况下,我试图获取阿拉巴马州下的所有城市链接。这是我构建的xpath

//h3/a[contains(text(),'Alabama')]/following::ul/li/a

但是上面的xpath匹配的东西太多了。知道我做错了什么吗?

<div class="geoUnit">

<h3><a href="http://example.com/" style="background-color: rgba(0, 0, 0, 0);">Alabama</a></h3>
<ul style="background-color: rgba(0, 0, 0, 0);">
<li style="background-color: rgba(0, 0, 0, 0);"><a href="http://example.com/" style="background-color: rgba(0, 0, 0, 0);">Auburn</a></li>
<li><a href="http://example.com/">Birmingham</a></li>
<li><a href="http://example.com/">Dothan</a></li>
<li><a href="http://example.com/">Gadsden</a></li>
<li><a href="http://example.com/">Huntsville</a></li>
<li><a href="http://example.com/">Mobile</a></li>
<li><a href="http://example.com/">Montgomery</a></li>
<li><a href="http://example.com/">Muscle Shoals</a></li>
<li><a href="http://example.com/">Tuscaloosa</a></li>
</ul>
</div>

在这种情况下,我希望将以下内容选为数组。我想提取每个城市链接。我在 Java 中使用 xpath

                    <li style="background-color: rgba(0, 0, 0, 0);"><a href="http://example.com/" style="background-color: rgba(0, 0, 0, 

0);">Auburn</a></li>
<li><a href="http://example.com/">Birmingham</a></li>
<li><a href="http://example.com/">Dothan</a></li>
<li><a href="http://example.com/">Gadsden</a></li>
<li><a href="http://example.com/">Huntsville</a></li>
<li><a href="http://example.com/">Mobile</a></li>
<li><a href="http://example.com/">Montgomery</a></li>
<li><a href="http://example.com/">Muscle Shoals</a></li>
<li><a href="http://example.com/">Tuscaloosa</a></li>

最佳答案

I'm trying to get all the city links under Alabama in this case.

您的 XPath 会选择目标标题之后的所有 a

But The xpath above matches too many things.

在您的完整文档中,目标标题之后可能还有其他 ul 元素。在这种情况下,您可以将 [1] 附加到 XPath 中的 ul 步骤,以将选择限制为紧随其后的 ul 元素:

//h3/a[contains(text(),'Alabama')]/following::ul[1]/li/a

或者,清理一下:

//h3[a='Alabama']/following-sibling::ul[1]/li/a

这会将 a 元素限制为紧随其后的 ul 元素。

关于html - 使用 xpath 获取下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47706038/

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