语句在这里: 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.
应该是一个元件?请问是什么意思
1 atnoot 2016-07-17 12:16:24 +08:00 什么框架? selenium ? |
![]() | 2 sheep3 2016-07-17 12:17:05 +08:00 via Android 错误信息都给的很清楚了,你这个最后的 text()返回的是 Text 而不是一个 element ,英语没学好也得好好查翻译啊 |
![]() | 3 exoticknight 2016-07-17 12:21:10 +08:00 提示不是说了么,你调用的是 find_elements_by_xpath ,看起来就是找 element 的,然而你提供的 xpath 是得到 a 的文本的 |
![]() | 4 lovebeyondalways OP @exoticknight 那该如何从 element 获取文本呢 |
![]() | 5 panda0 2016-07-17 12:39:57 +08:00 html.find_elements_by_xpath('//div[@class="listTitle"]/h4/a').text ? |
6 lazydao 2016-07-17 12:57:55 +08:00 via Android 学英文,看 API 文档? |
![]() | 7 aristotll 2016-07-17 16:18:41 +08:00 xpath 和 Python 关系不大吧 selenium 也不是只有 Python 的封装... |
![]() | 8 exoticknight 2016-07-17 22:34:42 +08:00 @lovebeyondalways 只在 scrapy 里面用过 xpath ,使用 xpath 找到 element 之后是可以继续使用 xpath 来提取 text 的,就是 './text()' 这样 |
![]() | 9 kinghs 2016-07-18 10:33:50 +08:00 /a/test()就是获取<a></a>里面的文本,/a 就是拿到 a 元素 |
![]() | 10 BrightDawn 2016-07-18 11:35:40 +08:00 ![]() |