在selenium中如果正常地从response中获取动态网页元素,会获取成空字符,下边有两种方法一种是直接从无痕浏览器上筛选,然后获取固定的内容,参考https://www.cnblogs.com/xiao-xue-di/p/11531894.html
但是缺点也很明显,那就是不够灵活,python自用的xpath查询会更灵活。
另一种方法获取页面源码,直接用lxml对源码进行解码:Python Selenium 获取页面所有文本内容_旷野历程-CSDN博客_selenium获取页面内容
自制的代码是:
import lxml
from lxml import etree
class GeturlSpider(scrapy.Spider):
def parse(self, response):
time.sleep(3)
driver = self.driver
driver.get("固定网址")
time.sleep(3)
driver.save_screenshot('1-1.jpg')
html_source = driver.page_source
html = lxml.html.fromstring(html_source)