这篇文章将为大家详细讲解有关使用 pyppeteer碰到的错误怎么解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
目前创新互联已为千余家的企业提供了网站建设、域名、网络空间、网站托管、服务器托管、企业网站设计、绵竹网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
pyppeteer.errors.ElementHandleError: Error: failed to find element matching selector ".btn_ok"
我使用了下面的代码后出现的:为了实现检测元素是否存在,存在则程序结束,不存在则重试
btn_ok = await page.Jeval('.btn_ok', 'node => node.style')
解决办法:
btn_ok = await page.querySelector('[class="nc_iconfont btn_ok"]')
但是使用这个之后,当滑动失败之后,重现刷新滑动验证码之后,又会出现下面的错误。
更新(2020-01-20):
之前的理解错误了,这个根本原因是执行关闭浏览器 await browser.close()
的时候没有权限删除用户的浏览数据。
解决办法:
定义浏览器的时候设置参数 'userDataDir': r'D:\temporary'
,指定一个用户可以执行的目录,这样的话就可以了。
但是这样的话,相当于保存了用户的浏览数据。
可能又会碰到这么个错误,事件循环打开浏览器后,并没有执行,直接返回结果。
看了一下文档,调用 createIncogniteBrowserContext()
直接打开一个无痕浏览器。这样就爽多了
关闭的时候需要注意分开关闭,无痕关闭,正常打开的浏览器也需要关闭。
pyppeteer.errors.NetworkError: Protocol Error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
解决办法:这是由于库本身的问题。pyppeteer 库的问题。
关于使用 pyppeteer碰到的错误怎么解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。