又来求助 v 站各位 python 大大,有一条 xpath 语句错误

2016 年 7 月 17 日
 lovebeyondalways

语句在这里: html.find_elements_by_xpath('//div[@class="listTitle"]/h4/a/text()')
错误如下 selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: The result of the xpath expression "//div[@class="listTitle"]/h4/a/text()" is: [object Text]. It should be an element.

应该是一个元件?请问是什么意思

5212 次点击
所在节点    Python
10 条回复
atnoot
2016 年 7 月 17 日
什么框架? selenium ?
sheep3
2016 年 7 月 17 日
错误信息都给的很清楚了,你这个最后的 text()返回的是 Text 而不是一个 element ,英语没学好也得好好查翻译啊
exoticknight
2016 年 7 月 17 日
提示不是说了么,你调用的是 find_elements_by_xpath ,看起来就是找 element 的,然而你提供的 xpath 是得到 a 的文本的
lovebeyondalways
2016 年 7 月 17 日
@exoticknight 那该如何从 element 获取文本呢
panda0
2016 年 7 月 17 日
html.find_elements_by_xpath('//div[@class="listTitle"]/h4/a').text ?
lazydao
2016 年 7 月 17 日
学英文,看 API 文档?
aristotll
2016 年 7 月 17 日
xpath 和 Python 关系不大吧 selenium 也不是只有 Python 的封装...
exoticknight
2016 年 7 月 17 日
@lovebeyondalways 只在 scrapy 里面用过 xpath ,使用 xpath 找到 element 之后是可以继续使用 xpath 来提取 text 的,就是 './text()' 这样
kinghs
2016 年 7 月 18 日
/a/test()就是获取<a></a>里面的文本,/a 就是拿到 a 元素
BrightDawn
2016 年 7 月 18 日

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/292998

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX