python爬虫 Playwright教程:第一个例子

介绍

本案例打开浏览器,并访问百度网页,打印网页的标题、网址、网页源码

from playwright.sync_api import sync_playwright

# 创建Playwright上下文
with sync_playwright() as p:
    # 打开Chrome浏览器,设置无头模式,默认为True
    browser = p.chromium.launch(headless=False) 
    # 新建浏览器页面
    page = browser.new_page()
    # 访问指定网址
    page.goto("https://www.baidu.com/")
    # 设置浏览器窗口大小
    page.set_viewport_size({"width" : 1920,"height" : 1080})
    # 打印网页标题
    print(page.title())
    # 打印网址
    print(page.url)
    # 打印网页源码
    # print(page.content())
    page.wait_for_timeout(5000)

执行结果

打开谷歌浏览器,自动访问百度,然后打印下面内容:

百度一下,你就知道
https://www.baidu.com/

完善例子

在百度的搜索框输入 python教程,并点击搜索按钮

注意:百度会校验爬虫行为,会弹出校验是否是真人的提示窗

关键代码

# 用 xpath 获取输入框元素
ele_input = page.locator('//textarea[@id="chat-textarea"]')
# 输入框输入文字
ele_input.fill("Python教程")
# # css 选择器,给按钮点击
ele_bottom = page.locator('#chat-submit-button')
ele_bottom.click()
# 等待10秒后退出
page.wait_for_timeout(20000)

完整代码

from playwright.sync_api import sync_playwright

# 创建Playwright上下文
with sync_playwright() as p:
    # 打开Chrome浏览器,设置无头模式,默认为True
    browser = p.chromium.launch(headless=False) 
    # 新建浏览器页面
    page = browser.new_page()
    # 访问指定网址
    page.goto("https://www.baidu.com/")
    # 设置浏览器窗口大小
    page.set_viewport_size({"width" : 1920,"height" : 1080})
    # 打印网页标题
    print(page.title())
    # 打印网址
    print(page.url)
    # 打印网页源码
    # print(page.content())
    # 用 xpath 获取输入框元素
    ele_input = page.locator('//textarea[@id="chat-textarea"]')
    # 输入框输入文字
    ele_input.fill("Python教程")
    # # css 选择器,给按钮点击
    ele_bottom = page.locator('#chat-submit-button')
    ele_bottom.click()
    # 等待20秒后退出,因为要通过真人校验
    page.wait_for_timeout(20000)

执行

执行是会校验是否是真人操作,之后能够正常运行


原文出处:/show_1GW3nj7HRyQl.html