仅使用Selenium选择父元素文本

2024-10-04 05:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python脚本从使用Selenium库的网站提取信息。 使用某个选择器,我得到了目标元素的WebElement对象,如下所示:

<myTargetElement><strong>324. </strong>Some interesting content that might contain numbers 323 or dots ...,;</myTargetElement>

我想分别提取两条信息:

strong标记包围的Id,我按如下方式完成了此操作:

^{pr2}$

现在我很困惑如何提取另一部分。如果我使用myTargetElementObject.text,它将返回文本中的id。在

我提取的数据非常大,我对使用正则表达式持谨慎态度。有没有一种方法可以使用WebElement对象返回元素的文本而不包含子元素?在


Tags: 对象文本脚本信息元素目标网站selenium
1条回答
网友
1楼 · 发布于 2024-10-04 05:25:22

我将获得目标元素的完整文本并按第一个.将其拆分:

strong, rest_of_the_content = myTargetElementObject.text.split(". ", 1)

不过,一般来说,任务并不是那么简单(这里有一个明确的分隔符):您不能直接在selenium中定位和获取文本节点,比如following-sibling::text()。常见的方法是获取子文本、父文本并从父文本中移除子文本:


另一种可能的方法是使用^{}进行一些单独的HTML解析,在这里您可以横向访问文本节点:

^{pr2}$

相关问题 更多 >