如何在两个节点之间提取文本内容

问题描述 投票:1回答:3

我想提取红色和绿色矩形中包含的文本,如下面的屏幕截图所示,N.B:文本不包含在开始和结束标记中

http://temperate.theferns.info/plant/Acacia+omalophylla

enter image description here

例如,对于绿色矩形的文本,我测试了此xpath查询和以下代码(python / selenium:):

greenrec_xpath = "//*[preceding::h3[contains(text(), 'General Information')] and following::h3[contains(text(), 'Known Hazards')]]"
driver.find_elements_by_xpath(greenrec_xpath)

但没有预期的结果

任何想法!

javascript python selenium xpath webdriverwait
3个回答
1
投票

[当文本周围没有紧迫的括号时,它被称为文本节点,由于它无法像您尝试的方式那样直接访问,因此很难查找。我通常要做的是找到直接父级的位置,并从中获取文本。如果该父节点下有多个文本节点,这将变得有些棘手,并且在获取整个文本后通常需要进行一些解析/拆分。


1
投票
greenrec_xpath = 
 "//*[preceding::h3[contains(text(), 'General Information')] 
    and following::h3[contains(text(), 'Known Hazards')]]"

1
投票

要提取文本Acacia属的分类...

© www.soinside.com 2019 - 2024. All rights reserved.