playwright自动化入门

playwright自动化入门

上次说了Pyppeteer自动化,今天分享playwright自动化。

1.playwright是什么

项目地址:https://github.com/microsoft/playwright.git

2.安装方法

$ pip3 install playwright -i https://mirrors.aliyun.com/pypi/simple/

安装这个第三方库,还需要执行下面命令下载Chromium浏览器。

$ playwright install

3. 登录某个网站

3.1 登录动作

#!/usr/bin/python
# coding=utf-8

__author__ = 'testerzhang'

import time
from playwright import sync_playwright

base_url = ""
USERNAME = ""
PASSWORD = ""
COOKIE_FILE = "webcookie.json"

with sync_playwright() as p:
    # 可以选择chromium、firefox和webkit
    browser_type = p.chromium
    # 运行chromium浏览器
    browser = browser_type.launch(headless=False)
    page = browser.newPage()
    page.goto(base_url)
    time.sleep(3)
    page.locator("button:has-text(\"登录\")").first.click()

    page.fill('input[name="username"]', USERNAME)
    page.fill('input[name="password"]', PASSWORD)

    # Click text=快速登录
    page.locator("text=快速登录").click()
    context.storage_state(path=COOKIE_FILE)	
    browser.close()

做了如下动作:

1.打开Chromium浏览器,访问网站URL

2.点击页面"登录"文字链接

3.在弹窗的登录界面,输入用户名密码,点击快速登录

4.将用户的cookies信息保存到文件

5.关闭浏览器。

PS:上面这个例子没做异常判断。

3.2 使用cookie登录

#!/usr/bin/python
# coding=utf-8

__author__ = 'testerzhang'

import time
import playwright
from playwright import sync_playwright

base_url = ""
USERNAME = ""
PASSWORD = ""
COOKIE_FILE = "webcookie.json"

with sync_playwright() as p:
    # 可以选择chromium、firefox和webkit
    browser_type = p.chromium
    # 运行chromium浏览器
    browser = browser_type.launch(headless=False)
    # chrome浏览器
    context = browser.new_context(
        viewport={
          "width": width,
          "height": height,
        },
        storage_state=COOKIE_FILE
    )
    page = context.new_page()

    page.goto(base_url)
    time.sleep(3)

    try:
        page.locator("text=恭喜!您今天获得了").first.click()
    except playwright._impl._api_types.TimeoutError:
        # logger.warning(f"找不到签到元素")
        pass
    except:
      logger.warning(f"找不到判断是否签到元素:{traceback.format_exc()}")
    browser.close()

做了如下动作:

1.打开Chromium浏览器,访问网站URL

2.此时用户是登录状态,识别网页里的文字进行点击操作。

3.关闭浏览器。


本文没有授权给任何组织、企业和个人转载,未经作者允许禁止转载!

欢迎关注我的公众号testerzhang,原创技术文章第一时间推送。

公众号二维码

updatedupdated2022-08-152022-08-15