我正在尝试使用 Python Selenium Firefox Webdriver 从此 HTML 中获取 h2 内容“我的数据标题”
<div class="box">
<ul class="navigation">
<li class="live">
<span>
Section Details
</span>
</li>
</ul>
</div>
<div class="box">
<h2>
My Data Title
</h2>
</div>
<div class="box">
<ul class="navigation">
<li class="live">
<span>
Another Section
</span>
</li>
</ul>
</div>
<div class="box">
<h2>
Another Title
</h2>
</div>
每个 div 都有一个 box 类,所以我无法轻松识别我想要的。有没有一种方法可以告诉 Selenium 获取框类中的 h2,该框类位于具有名为 'Section Details' 的跨度的框类之后?
最佳答案
如果您想在具有文本 Section Details
的范围之后的框类中获取 h2
,请尝试下面的 xpath
使用前述
:-
(//h2[preceding::span[normalize-space(text()) = 'Section Details']])[1]
或使用以下
:
(//span[normalize-space(text()) = 'Section Details']/following::h2)[1]
对于另一个部分
,只需将xpath
中的跨度文本更改为:-
(//h2[preceding::span[normalize-space(text()) = 'Another Section']])[1]
或
(//span[normalize-space(text()) = 'Another Section']/following::h2)[1]
关于Python Selenium Webdriver - 在指定的一个之后抓取 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38658052/