pyppeteer无头模式截图未渲染完成?-灵析社区

一只tomatoo

[http://m.chinajd995.com:8080/](https://link.segmentfault.com/?enc=wtcOf%2F9tQToQ65nUHV7bIA%3D%3D.Qugix2btdyNzq%2FhKNNGt4JFcphrhZIuhGWpW5sJSz%2BE%3D) 以上类似站点去pyppeteer访问会出现页面未加载完成就截图了,导致截图空白 page = await self.browser.newPage() await page.evaluateOnNewDocument('() =>{ Object.defineProperties(navigator,' '{ webdriver:{ get: () => false } }) }') # 本页刷新后值不变 try: await page.setUserAgent(UserAgent().random) await page.goto(url) await page.screenshot({'path': path}) time.sleep(0.5) # 防止报错 await page.close() except: pass 预想效果 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241117/f1a5432c381e542bc9898feec996c61c.png) 实际效果 ![whois_home.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241117/5f77fd523bbb4e4913ee74dc19f70dca.png) 经过测试await asyncio.sleep(10) # 增加等待时间,等待页面加载完成 可行有效,但是由于多个网站都需要这样操作该如何减少他的等待时间呢,而不是写死时间

阅读量:20

点赞量:0

问AI
不需要 sleep ,"await page.goto(url)" 优化下: await page.goto(url, { // timeout: 2 * 1000, waitUntil: ['load', 'domcontentloaded', 'networkidle0'] }) 具体文档可见:"https://pyppeteer.github.io/pyppeteer/reference.html#pyppetee..." (https://link.segmentfault.com/?enc=fTPgZUizixOLWuMQhqm20Q%3D%3D.50l78E1HSnt%2FBZsWJgwzeH%2BPhVC8VOmJeOrDK5eIyx82oOveopC5n244oAJpMY6CmjKauO5UlNYxhKmSJNGaH%2Fmm%2BU9o7w%2FTcf3hUXX4P%2Bs%3D)