目 录CONTENT

文章目录

playwright框架入门使用

懿曲折扇情
2022-07-12 / 1 评论 / 8 点赞 / 490 阅读 / 779 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告

playwright介绍:

**网上听说这个框架很厉害,然后就有了下文,试探性玩一下**

一、安装playwright

# python版本至少3.7以上
pip install playwright

#自动安装Chromium、Firefox、WebKit等浏览器的驱动文件
python -m playwright install

image-1657599670451

image-1657599681140

二、脚本录制

录制命令codegen:

通过python -m playwright codegen --help 可查看所有用法

image-1657599781147

常用参数含义:

-o:将录制的脚本保存到一个文件的文件名称

--target:指定生成的脚本语言,默认为python,目前支持python和JS

-b:指定浏览器驱动
# 使用谷歌驱动去打开网址   
# 生成脚本为python脚本,且脚本名字叫login.py
python -m playwright codegen --target python -o login.py -b chromium https://www.baidu.com

录制脚本:

执行:

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

会弹出录制窗口,和打开浏览器界面

image-1657600072746

操作完之后关闭窗口,查看生成脚本

login.py

from playwright.sync_api import Playwright, sync_playwright, expect


def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()

    # Open new page
    page = context.new_page()

    # Go to https://www.baidu.com/
    page.goto("https://www.baidu.com/")

    # Click input[name="wd"]
    page.locator("input[name=\"wd\"]").click()

    # Click [id="\32 "] h3 >> text=懿曲折扇情
    with page.expect_popup() as popup_info:
        page.locator("[id=\"\\32 \"] h3 >> text=懿曲折扇情").click()
    page1 = popup_info.value
    page.wait_for_url("https://www.gaojs.com.cn/")

    # Click text=关于作者 >> nth=0
    page1.locator("text=关于作者").first.click()
    page1.wait_for_url("https://www.gaojs.com.cn/s/about")

    # Click text=归档 >> nth=0
    page1.locator("text=归档").first.click()
    page1.wait_for_url("https://www.gaojs.com.cn/archives")

    # Close page
    page1.close()

    # Close page
    page.close()

    # ---------------------
    context.close()
    browser.close()


with sync_playwright() as playwright:
    run(playwright)

image-1657600588994

三、回放脚本

执行python login.py即可

python login.py

image-1657600639091

报错信息:

看样子是没有输入text导致超时退出

image-1657601005740

四、产品对比

1.之前操作过阿里巴巴出的uirecorder,也是录制出来之后是js代码,
发现产品还是有很多缺陷,踩坑了半个月,就放弃了,更换别的框架了.

2.个人觉得只要录制的脚本,多多少少我都觉得不太好使,
最好当个辅助使用吧,要不后续出去面试人家问你怎么做自动化,
你说你录制,估计就要凉了。

3.而且回放的时候,会产生很多问题,调试也是很耗时,一旦业务有变动或者元素啥的
有变动就可能要重新录制,也就有了重新回访调试。

4.也有可能当时对录制玩的少

5.既然网上说这个很厉害,能结合pytest分层等等,就说明还是可以的,可以一试。

五、持续更新中

既然网上已经很多人在说这个框架牛逼了,那么小编就必须要搞出来一套成体系的实战代码出来。。。

-159

8

评论区