Python Playwright中 page 对象与网页交互常用方法

goto(url, options=None):
加载并跳转到指定的 URL。options 参数可以包含一些设置,如等待页面加载的状态等。

page.goto("https://example.com")

content():
获取页面的 HTML 内容。

html_content = page.content()

title():
获取页面的标题。

page_title = page.title()

fill(selector, value, options=None):
使用选择器找到表单元素,并填充指定的值。通常用于输入框。

*注意:playwright中使用选择器不需要声明选择器类型,playwright会自行判断

page.fill("#username", "my_username") 

click(selector, options=None):
使用选择器找到元素并点击。

page.click("#submit-button")

press(selector, key, options=None):
模拟在指定元素上按下键盘键。

page.press("#input-field", "Enter")

type(selector, text, options=None):
在指定元素中输入文本。通常用于输入框,可以模拟用户输入。

page.type("#input-field", "Hello, World!")

check(selector, options=None):
选中指定的复选框或单选按钮。

page.check("#agree-terms")

uncheck(selector, options=None):
取消选中指定的复选框或单选按钮。

page.uncheck("#agree-terms")

select_option(selector, value, options=None):
在指定的下拉列表中选择一个选项。

page.select_option("#dropdown", "option_value")

reload(options=None):
重新加载当前页面。

page.reload()

screenshot(path=None, options=None):
对当前页面进行截图,并保存到指定路径。

page.screenshot("screenshot.png")

evaluate(expression, arg=None):
在页面上下文中执行 JavaScript 表达式,并返回结果。

title = page.evaluate("() => document.title")

wait_for_selector(selector, state=None, timeout=None):
等待指定选择器匹配到的元素满足给定状态(如可见、可点击等)。

page.wait_for_selector("#some-element", state="visible")

wait_for_load_state(state="load"):
等待页面达到指定的加载状态。

page.wait_for_load_state("networkidle")

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python使用Playwright操作已打开的网页,你需要首先通过Playwright库启动一个浏览器实例并打开目标网页。然后,你可以使用Playwright提供的API来访问和操作这个网页。 在访问网页时,你可以使用Playwright提供的`page.goto(url)`方法来加载指定的URL。一旦网页加载完成,你就可以使用`page`对象来与页面交互。例如,你可以使用`page.$(selector)`方法来选择页面上的元素,使用`element.click()`方法来模拟元素的点击操作,使用`element.type(text)`方法来输入文本等。 如果你已经打开了一个浏览器实例,并且想要在该浏览器打开一个新的页面进行操作,可以使用`browser.newPage()`方法来获取一个新的页面对象。例如,你可以使用以下代码在已经打开的浏览器打开一个新页面: ```python import playwright.sync_api as playwright with playwright.sync_playwright() as p: # 连接到现有的浏览器实例 browser = p.connect_over_websocket(ws_endpoint="ws://localhost:12345") # 在现有浏览器打开一个新页面 page = browser.newPage() page.goto("https://www.example.com") # 在新页面上进行操作... ``` 注意,你需要先启动一个Playwright服务器(例如通过`playwright-cli`工具或手动启动),才能连接到现有的浏览器实例。`ws_endpoint`参数需要设置为Playwright服务器的WebSocket端点URL。 如果你想要在已经打开的页面进行操作,可以使用`page.evaluate(func)`方法来在页面上执行JavaScript代码。例如,你可以使用以下代码在页面上获取当前的URL: ```python current_url = page.evaluate("window.location.href") print(current_url) ``` 除了以上提到的方法外,Playwright还提供了许多其他的API和工具,可以帮助你更轻松地操作网页。你可以参考Playwright的官方文档来了解更多信息:https://playwright.dev/docs/api/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值