gpt4 book ai didi

xpath - 使用 br 从文本中查找 xpath

转载 作者:行者123 更新时间:2023-12-02 17:29:25 24 4
gpt4 key购买 nike

我有这个html代码

<div>
<span>test</span>
foo
<br />
bar
</div>

我试图用直接在 div 内的文本找到它(所以 foo bar)。

通常情况下,我会去//div[normalize-space(text()) = 'foobar'],但由于
它不起作用。我尝试添加空格或特殊字符,或修剪它们,但似乎没有任何效果。

从测试中我看到

//div/text() = foo bar
//div/text()[1] = foo
//div/text()[2] = bar
//div[text()[1] = foo] = the div
//div[text()[2] = bar] = nothing

text() 在返回值时似乎只返回索引[2],而不是搜索值。

我使用 java/selenium 和 firepath(一个用于测试 xpath 的 firebug 插件)测试了这段代码。

任何人都知道如何从文本中获取 div,并且如果可能的话,不使用 contains,因为它们不准确。

谢谢。

最佳答案

您可以尝试使用下面的XPath表达式to match required div by its text :

//div[normalize-space()="test foo bar"]

请注意,删除空格的函数实际上调用了 normalize-space() ,但不是 sanitize-space()

更新

如果您只想使用 "foo""bar" 文本节点,请尝试

//div[concat(normalize-space(text()[2]), normalize-space(text()[3]))="foobar"]')

或者是否单独使用它们

//div[normalize-space(text()[2])='foo' and normalize-space(text()[3])='bar']

关于xpath - 使用 br 从文本中查找 xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43896877/

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