我试图在网页中的 <td></td>
中抓取文本,它是xpath: //table[@id = 'sth']/tbody/tr[2]/td[2]
. 我用 selenium
访问该页面 .
但问题是当我使用 response.xpath('//table[@id = 'sth']/tbody/tr[2]/td[2]/text()').extract_first()
或 response.xpath('//table[@id = 'sth']/tr[2]/td[2]/text()').extract_first()
时,scrapy无法提取文本,它只返回 None
.
然后我尝试使用 self.driver.find_element_by_xpath('//table[@id = 'sth']/tbody/tr[2]/td[2]').text
(在 response.xpath()
中使用相同的 td_path
)提取文本,这非常有效 .
我还将网页的HTML标签复制到html文件,在cmd中用 scrapy shell
打开文件,使用 response.xpath('//table[@id = 'sth']/tr[2]/td[2]/text()').extract_first()
提取文本 . 有用 .
我只是不知道为什么response.xpath()在抓取页面时不起作用 .