介绍
本案例打开浏览器,并访问百度网页,打印网页的标题、网址、网页源码
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)
执行
执行是会校验是否是真人操作,之后能够正常运行