我试图在网页中的 <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()在抓取页面时不起作用 .