Python scrapy response.xpath无法提取表字段';s文本,但selenium find\u find\u元素\u by\u xpath()可以

Python scrapy response.xpath无法提取表字段';s文本,但selenium find\u find\u元素\u by\u xpath()可以,python,selenium,xpath,scrapy,response,Python,Selenium,Xpath,Scrapy,Response,我试图在网页中的中刮取文本,它是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无法提取文本,它只返回No

我试图在网页中的
中刮取文本,它是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\u通过xpath('//table[@id='sth']/tbody/tr[2]/td[2]')提取文本。text
(与
response.xpath()
中使用的
td_路径相同),这非常有效

我还将网页的HTML标记复制到一个HTML文件中,用cmd中的
scrapy shell
打开该文件,使用
response.xpath('//table[@id='sth']/tr[2]/td[2]/text()')。extract_first()
提取文本。它起作用了


我只是不知道为什么response.xpath()在抓取页面时不起作用

尝试从xpath中删除
tbody
。有时,该元素是由浏览器虚拟添加的,但在html中并不真正存在。谢谢!但我也试过移除车身,但仍然不起作用。你试过添加等待吗?可能页面在您抓取时没有将文本加载到表中。我也怀疑它,并添加了等待20秒,即使我可以在selenium浏览器中看到整个表,scrapy仍然没有返回任何文本