【发布时间】:2019-09-13 16:40:41
【问题描述】:
在以下链接上:https://classicdb.ch/?quest=788
这里是//*[@id="main-contents"]/div[1]/table[1]/tbody/tr/td
它包含一个文本
杂色野猪 消灭 (10)
//*[@id="main-contents"]/div[1]/table[1]/tbody/tr/td/a
仅包含:
杂色野猪
我只需要包含以下内容的第二部分:
被杀 (10)
在带有 selenium 的 python 中,我尝试使用以下命令直接访问节点:
//*[@id="main-contents"]/div[1]/table[1]/tbody/tr/td/text()
但是 webdriver 只能包含 webelements 而不能包含文本节点。
xpath 表达式的结果 "//*[@id="main-contents"]/div[1]/table[1]/tbody/tr/td/a/following-sibling::text()" 是:[对象文本]。它应该是一个元素。
我也试过了:
//*[@id="main-contents"]/div[1]/table[1]/tbody/tr/td/a/following-sibling::text()
但确实返回相同的错误,它应该是一个元素而不是对象文本。
我找到了一种解决方法,首先只选择文本,然后从整个文本中减去它——但这很难看。 如何正确实现这一目标?
谢谢!
编辑:我不能在代码中使用特定变量,例如“slain”或“Mottled Boar”,因为这些变量在其他情况下可能会发生变化。
【问题讨论】:
标签: python html python-3.x selenium xpath