用playwright模拟登录

268 阅读1分钟

用playwright模拟登录,实际上跟用selenium差不多, 所以重要的是寻找到相关的元素id

from playwright.sync_api import sync_playwright

def login_to_website(url, username, password):
    with sync_playwright() as p:
        # 启动无头浏览器
        browser = p.chromium.launch(headless=True)
        context = browser.new_context()
        page = context.new_page()

        # 导航到登录页面
        page.goto(url)

        # 等待用户名和密码输入框加载完成
        page.wait_for_selector("input[name='username']")
        page.wait_for_selector("input[name='password']")

        # 输入用户名和密码
        page.fill("input[name='username']", username)
        page.fill("input[name='password']", password)

        # 点击登录按钮
        page.click("button[type='submit']")

        # 等待登录后的页面加载完成
        page.wait_for_load_state("networkidle")

        # 验证登录是否成功(可选)
        # 例如,检查某个特定的元素是否存在
        if page.query_selector("#welcome-message"):
            print("登录成功!")
        else:
            print("登录失败!")

        # 关闭浏览器
        browser.close()

# 示例调用
url = "https://example.com/login"  # 替换为实际的登录页面 URL
username = "your_username"  # 替换为实际的用户名
password = "your_password"  # 替换为实际的密码
login_to_website(url, username, password)