我有一个 TA 案例,我通过 xpath 找到一个元素(非常长)
$x("//tr[./td[contains(@class, 'description_short') and .//a[contains(@class, 'descShort') and normalize-space(text()) = normalize-space('xxxxxxxxx')]]]/.//img[starts-with(@id, 'tocart_')]")$x("//tr[./td[contains(@class, 'description_short') and .//a[contains(@class, 'descShort')]]]/.//img[starts-with(@id, 'tocart_')]")
它不再起作用,因为有人提出了一个绝妙的主意来突出显示链接名称中的单词,因此 text() 返回 null。
新文本是:
<a href="#" class="x-dig-articleDetailSpx descShort"><b class="x-dig-articleDetailSpx descShort"><b class="x-dig-articleDetailSpx descShort">MDI,</b></b> P<b class="x-dig-articleDetailSpx descShort"><b class="x-dig-articleDetailSpx descShort">MDI,</b></b> <b class="x-dig-articleDetailSpx descShort">Isocyanat,MDF,</b> <b class="x-dig-articleDetailSpx descShort">Huntsman</b></a>
旧的是:
<a href="#" class="x-dig-articleDetailSpx descShort"><b class="x-dig-articleDetailSpx descShort">xxxxxx</a>
我不知道如何从新的困惑中获取文本......有人知道吗?
最佳答案
找到了。您可以使用 string() 函数代替 text()
有点简单。
关于javascript - 用于从带有子 div 的链接中选择文本的 xpath 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43868722/