安装

pip install playwright -i https://mirrors.aliyun.com/pypi/simple/ 使用阿里源,下载速度快一点。

python -m playwright install 安装chromium、frefox、webkit。

代码样例

打开百度页面:

同步API:

from playwright import sync_playwrightwith sync_playwright() as p:# 可以选择chromium、firefox和webkitbrowser_type = p.chromium# 运行chrome浏览器,executablePath指定本地chrome安装路径# browser = browser_type.launch(headless=False,slowMo=50,executablePath=r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")browser = browser_type.launch(headless=False)page = browser.newPage()page.goto('https://www.baidu.com/')page.screenshot(path=f'example-{browser_type.name}.png')browser.close()

异步API:

import asyncio
from playwright import async_playwrightasync def main():async with async_playwright() as p:browser_type = p.chromiumbrowser = await browser_type.launch(headless=False)page = await browser.newPage()await page.goto('https://www.baidu.com/')await page.screenshot(path=f'example-{browser_type.name}.png')await browser.close()
asyncio.get_event_loop().run_until_complete(main())

模拟手机模式:

from playwright import sync_playwrightwith sync_playwright() as p:iphone_11 = p.devices['iPhone 11 Pro']browser = p.webkit.launch(headless=False)context = browser.newContext(**iphone_11,locale='zh-CN')page = context.newPage()page.goto('https://www.baidu.com/')page.click('#logo')page.screenshot(path='colosseum-iphone.png')browser.close()

浏览器中运行JS

from playwright import sync_playwrightwith sync_playwright() as p:browser = p.firefox.launch(headless=False, slowMo=1000)page = browser.newPage()page.goto('https://www.baidu.com/')dimensions = page.evaluate('''() => {return {width: document.documentElement.clientWidth,height: document.documentElement.clientHeight,deviceScaleFactor: window.devicePixelRatio}}''')print(dimensions)browser.close()

录制生成代码

python -m playwright codegen ,添加--help 查看参数 python -m playwright codegen -h

# -o, --output <file name>  保存脚本到该文件
# --target <language> 指定生成语言 javascript, python, python-async, csharp;默认是python
# -h, --help  查看帮助命令
示例

python -m playwright -b webkit codegen https://www.baidu.com/ -o test.py --target python

-b 是指定浏览器,查看其他参数:python -m playwright -h

参考

  • https://github.com/microsoft/playwright-python
  • https://playwright.dev/docs/why-playwright

Playwright-python 教程相关推荐

  1. 给老婆写个Python教程

    作者 | 水风 来源 | 水风知乎问答 如何挑战百万年薪的人工智能! https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 什么是code code就是 ...

  2. 【python教程入门学习】Python实现自动玩贪吃蛇程序

    这篇文章主要介绍了通过Python实现的简易的自动玩贪吃蛇游戏的小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学一学 实现效果 先看看效果 这比我手动的快多了,而且是单机的,自动玩没惹 ...

  3. OpenCV Python教程(2、图像元素的访问、通道分离与合并)

    OpenCV Python教程之图像元素的访问.通道分离与合并 转载请详细注明原作者及出处,谢谢! 访问像素 像素的访问和访问numpy中ndarray的方法完全一样,灰度图为: [python] v ...

  4. 廖的python教程_廖雪峰的Python3.x教程.pdf

    目录 Python教程 Python简介 安装Python Python解释器 第一个Python程序 使用文本编辑器 Python代码运行助手 输入和输出 源码 learning.py Python ...

  5. python教程app下载地址_python教程

    python教程它是一个移动编程学习应用程序,可以为学习编程的用户提供高级学习工具,借助该软件,用户可以轻松获得各个阶段的培训资料,并且大量高质量的培训视频简化并简化了用户培训,有兴趣的朋友可以轻松下 ...

  6. python是什么系统_最齐全、最系统的python教程

    python教程(后面有彩蛋) python教程目录 学python都用来干嘛的? 主要就是"简单啊"."收入高啊"."人生苦短,我用Python&q ...

  7. python操作excel-python操作excel(内附python教程分享)

    今天学习了下xlwings这个库,目的是为了让计算机自动化操作excel表,当某天需要做一些很繁琐的事情,就可以派上用场啦. python操作excel(内附python教程分享) 基本对象 网上刮来 ...

  8. python 教程 网盘-python教程网盘

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行 ...

  9. python画代码-Python教程_Python画Mandelbrot集 代码

    Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...

  10. 廖雪峰python教程书-Python 爬虫:把廖雪峰的教程转换成 PDF 电子书

    写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...

最新文章

  1. WPF使用X:Static做多语言支持
  2. php连接mySql,加密函数
  3. WCF开发的几个频骤
  4. LeetCode Algorithm 590. N 叉树的后序遍历
  5. 用wamper打开php源码_php源码该怎么设置数据库
  6. 更改linux子系统软件源为国内镜像
  7. EF实体框架之CodeFirst五
  8. 为什么下拉框拉不下来_为什么分手后对方不删除拉黑你,但又不和你复合?
  9. 【Codeforces Round #585 (Div. 2) E】Marbles【状压DP】
  10. html5变动标签新写法,HTML5新增的标签和废除的标签
  11. stm8s + si4463 寄存器配置
  12. 时空序列预测之Memory In Memory: A Predictive Neural Network for Learning Higher-OrderNon-Stationarity
  13. 路由器刷机群辉NAS+KODI (一)----NAS安装
  14. 开源公告|腾讯代码安全指南开源,涉及C/C++、Go等六门编程语言
  15. 【usb】安卓usb网络共享(RNDIS)
  16. 图解 Redis !傻瓜都看懂了
  17. win10 EFI文件夹删除了,引导进不去了,该怎么办?
  18. 年度盘点丨2017十大最佳科技创新产品!
  19. MySQL 关键字模糊匹配按照匹配度排序
  20. QT出现中文乱码及解决方案

热门文章

  1. GMM-HMM 详解
  2. dvi是什么意思_VGA线和DVI线,VGA线和DVI线是什么意思
  3. 大学英语计算机四级考试内容,大学英语四级考试大纲
  4. Android自定义view半圆形错误提示框和简单动画使用
  5. 10、I/O 输入输出流
  6. 小课堂week17 编程范式巡礼第二季 并发那些事
  7. matlab画空间分布图,matlab空间图形的画法.doc
  8. 织梦dedecms 模板代码标签学习
  9. ts类中的private和protected
  10. Flink在流处理上的Source和sink操作、Flink--sink到kafka