gpt4 book ai didi

java - 无法使用 XPath 识别页面上的所有文本元素

转载 作者:行者123 更新时间:2023-11-30 02:03:23 25 4
gpt4 key购买 nike

我正在尝试识别网页上的所有文本元素。根据我在 stackoverflow 上读到的几个线程,我提出了以下 XPath:

//*[normalize-space(.)=.][not(self::script or self::style or self::meta)]//.
//*[normalize-space(.)=.][not(self::script or self::style or self::meta)]//text()

但是,我注意到,虽然这标识了亚马逊产品页面上的数百个文本元素,但它遗漏了一些重要的元素。

例如:

关于this页面我无法识别“功能”部分和按时间部分排序:

"Echo Show brings you everything you love about Alexa.."

'Want it tomorrow.."

关于this页面我无法识别描述部分(紧邻产品图片的右侧)

这两个页​​面都有突出显示在页面上的文本,因此我不明白为什么它没有相应地识别它们。

我知道其中一些文本位于 ul/li 标记下,但我认为这不是问题所在。

最后,是否可以将所述 XPath 与另一个属性值组合起来,以便它仅标识具有给定属性值的文本元素(即 //*[normalize-space(.)=.][not( self::script 或 self::style 或 self::meta)]//. + .//*[@id='XYZ'])

谢谢

最佳答案

尝试使用:

//*[text()[not(normalize-space()='')]]

这将选择任何具有 text() 节点的元素作为直接子元素,而不仅仅是空格。

关于java - 无法使用 XPath 识别页面上的所有文本元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52103119/

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