前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化神器Playwright-python

自动化神器Playwright-python

作者头像
打铁读书郎
发布2024-05-06 09:42:02
820
发布2024-05-06 09:42:02
举报

自动化神器Playwright-python(1)-安装部署

安装

代码语言:javascript
复制
# 安装python库
pip install   playwright
# 下载驱动
playwright install

录制

  1. 打开录制窗口
代码语言:javascript
复制
playwright codegen -o union.py -b firefox   # 火狐打开浏览器, 录制脚本写入到 union.py文件中
  1. 鼠标操作, 可以点击按钮进行添加断言, 录制结束关闭浏览器
  2. 脚本回放: 直接运行脚本

不足之处:

  • 上传操作无法成功录制, 需要手动修改
  • 页面跳转不聪明, 重定向的url也都会执行

文件上传

  • 方法1:通用方法
代码语言:javascript
复制
# 文件上传
with page.expect_file_chooser() as file_chooser_info:
    page.get_by_text("将文件拖入此区域或者选择文件(可以多选, 仅支持").click()  # 传递文件
files = get_files(file_name)
file_chooser_info.value.set_files(files)
page.wait_for_load_state()  # 等待上传完毕
  • 方法2: input元素
代码语言:javascript
复制
upload_ele = page.locator("input[type=file][name=file][multiple=multiple]")  # 获取input上传元素
upload_ele.set_input_files('1.jpg')  # 传递文件
page.wait_for_load_state() # 等待上传完毕

自动化神器Playwright-python(2)-等待机制

Playwright会自动等待页面数据展示, 无需手动设置, 这在某些场景下是有害的

解决不必要的等待问题

场景: 登录页面有二维码登录和账号登录2种方式, playwright会自动等待二维码展示(耗时较久,非必要)

解决方案: 设置goto超时机制, 报错直接pass

代码语言:javascript
复制
try:
    page.goto('https://xxx.com/admin/', timeout=1000)
except Exception as e:
    pass

获取session存储

代码语言:javascript
复制
dict_sessionStorage = page.evaluate('sessionStorage')

自动化神器Playwright-python(3)-设备仿真

playwright可通过浏览器的设备仿真技术, 测试移动端应用

设备仿真

代码语言:javascript
复制
from playwright.sync_api import sync_playwright
from loguru import logger

def run():
    with sync_playwright() as pw:
        # 获取设备配置信息
        iphone14 = pw.devices['iPhone 14']
        # 初始化一个设备环境, 打开页面
        browser = pw.chromium.launch(headless=False)
        context = browser.new_context(**iphone14)
        page = context.new_page()
        page.goto("http://baidu.com")
        page.pause()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动化神器Playwright-python(1)-安装部署
    • 安装
      • 录制
      • 文件上传
      • 自动化神器Playwright-python(2)-等待机制
      • 自动化神器Playwright-python(3)-设备仿真
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档