温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python pyppeteer使用笔记

发布时间:2020-06-18 12:04:05 来源:网络 阅读:1481 作者:Python热爱者 栏目:编程语言

pyppeteer -- python版本的puppeteer,一个强大的chronium headless浏览器API

最近搞天猫用了一波儿,记录一下。

先上文档: https://miyakogi.github.io/pyppeteer/

举个最简单的例子入门一下:

比如打开百度,然后截图


python pyppeteer使用笔记

下面说一些小技巧:

1、启动参数


python pyppeteer使用笔记

注意:同一个用户目录(userDataDir)不能被两个chrome进程使用,如果你要多开,记得分别指定用户目录。否则会报编码错误。

2、设置viewport

自动获取当前屏幕大小并设置viewport


python pyppeteer使用笔记

3、导出或加载cookie

python pyppeteer使用笔记

4、选择器

让人极度舒适的一个特性:

使用 page.querySelector如果没有找到指定的对象,则返回None,而不是抛出异常。不管规范不规范,反正比selenium爽多了。

5、hook

在页面开始加载前注入js代码,例如修改掉webdriver属性,让天猫检测不到


python pyppeteer使用笔记

6、关于各种事件的isTrusted

这个js事件属性,用js是无法伪造的,但是用pyppeteer发生的各种操作所触发的事件,是完全真实的,这个归功于CDP吧。

7、卡死

如果在操作过程中不小心点击了某个a标签,导致浏览器新打开了一个标签页,而你的代码还在傻乎乎的使用之前的page对象做操作的时候,整个进程就卡住了

没有超时、没有异常、就是完全的不知道在干啥

当你把新开的标签页手动关闭后,一切就恢复原样。

tips:

避免这种情况的发生,其实也很简单,就是在每个可能误操作点击导致新开标签页的行为后面都强制关闭一下其他标签页:

比如:


python pyppeteer使用笔记


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI