上次说了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,原创技术文章第一时间推送。