0
点赞
收藏
分享

微信扫一扫

使用pyppeteer进行模拟操作的调优总结

对于之前写的模拟快排代码,在使用过程中,偶尔会出现不同的错误,这次对这些错误进行思考和解决,这样保证代码的稳定运行。下面就一些使用过程中错误总结一下。


运行出错Protocol error (Runtime.callFunctionOn): Promise was collected


对于这样的错误,根据查询资料分析,说是在之前页面没有加载完毕,后面的运行,就会造成元素获取不到的状态,在注释中时间上面会有冲突,所以要合并,进行延时加载一次,之后就获取对应的元素,就可以了。


# await self.page.goto(start_url,timeout=20000)
# await self.page.waitForSelector('#su',options={'timeout':10*1000})
await asyncio.wait([
self.page.goto(start_url),

])

运行出错Cannot find .input_3npy4 on this page


对于这样的错误,主要是因为没有找到page没有找到对应的元素。那么在代码中获取元素的样式,对样式进行判断,从而就可以获取到元素,进行点击了。


使用pyppeteer进行模拟操作的调优总结_验证码


使用pyppeteer进行模拟操作的调优总结_延时加载_02


另外对于关键词没有在网页上收录,或者出现百度验证码的提示,说明代理ip质量不好,那么在代码中会进行报错提示


使用pyppeteer进行模拟操作的调优总结_验证码_03


使用pyppeteer进行模拟操作的调优总结_验证码_04


使用pyppeteer进行模拟操作的调优总结_百度_05


然后解决一些小问题后,就运行正常了,对于模拟的其他算法后面我会继续进行优化。


举报

相关推荐

0 条评论