playwright中常用的几种方法(同步模式下)

playwright中常用的几种方法(同步模式下)

简单介绍

在 Python 环境下,Playwright 提供了比较完善的同步 API,开发者可以根据自己的喜好来选择使用异步 API 还是同步 API。以下是介绍 Playwright 常用同步方法的介绍。

具体方法

1. page.goto(url[, options])

与异步 API 一样,该方法用于加载并跳转到指定的网址。它接受一个 URL 参数和可选的选项参数。常用的选项参数包括:

  • wait_until:指定页面加载状态,默认为 load。可以设置为 domcontentloaded 或者 networkidle0 等。

以下是使用 page.goto 方法的示例:

page.goto('https://www.example.com')
page.goto('https://www.example.com', wait_until='networkidle0') # 等待网络空闲状态

2. page.wait_for_selector(selector[, options])

该方法用于等待与指定 CSS 选择器匹配的元素出现在页面中。它接受一个选择器参数和可选的选项参数,常用的选项参数包括:

  • visible:指定元素必须可见,默认为 False
  • hidden:指定元素必须隐藏,默认为 False

以下是使用 page.wait_for_selector 方法的示例:

page.wait_for_selector('#myButton')
page.wait_for_selector('.my-div', visible=True) # 等待可见的元素

3. page.wait_for_load_state(state=None[, timeout=30000])

与异步 API 类似,该方法用于等待页面的加载状态,其中 state 参数可以是以下值之一:

  • load:页面完全加载完成。
  • domcontentloaded:DOM 内容加载完成。
  • networkidle0:网络空闲状态时。
  • networkidle2:网络连接数稳定且超过 500 毫秒。

以下是使用 page.wait_for_load_state 方法的示例:

page.goto('https://www.example.com')
page.wait_for_load_state('networkidle0') # 等待网络空闲状态

4. page.click(selector[, options])

与异步 API 一样,该方法模拟元素的点击事件,接受一个选择器参数和一个可选的选项参数。其中常用的选项参数包括:

  • button:模拟鼠标点击的按钮,默认为 left
  • click_count:模拟点击次数,默认为 1。

以下是使用 page.click 方法的示例:

page.click('#myButton')

5. page.type(selector, text, delay=None)

与异步 API 类似,该方法用于在指定的元素中输入文本内容。接受一个选择器参数和输入的文本内容,还可以包括以下可选的选项参数:

  • delay:模拟每个字符输入的延迟时间(以毫秒为单位)。

以下是使用 page.type 方法的示例:

page.type('#myInput', 'Hello World!')

6. page.evaluate(pageFunction, *args)

与异步 API 类似,该方法在页面上下文中执行指定的 JavaScript 函数,并返回函数的返回值。它可以在浏览器中执行自定义的 JavaScript 代码。以下是使用 page.evaluate 方法的示例:

result = page.evaluate('() => { return 1 + 2; }')

7. page.wait_for_function(pageFunction[, timeout=None, interval=None], *args)

与异步 API 类似,该方法会持续执行指定的 JavaScript 函数,直到函数返回 True。它可以用于等待页面上动态变化的内容出现,或者等待异步操作完成。以下是使用 page.wait_for_function 方法的示例:

page.wait_for_function('() => document.querySelector("#myButton").disabled === false')

8. page.screenshot(path=None, *, full_page=True, clip=None, quality=None, omit_background=False)

与异步 API 类似,该方法用于截取当前页面的屏幕快照,并保存到指定的文件中。它接受一个可选的选项参数,常用的选项参数包括:

  • path:指定截图保存的文件路径和文件名。
  • full_page:指定截图是否包含整个页面,默认为 True
  • clip:指定截图的大小和位置。
  • quality:指定截图的质量。
  • omit_background:指定是否忽略背景色。

以下是使用 page.screenshot 方法的示例:

page.screenshot(path='example.png', full_page=True)
page.screenshot(clip={'x': 0, 'y': 0, 'width': 800, 'height': 600})

总结

以上是 Playwright 在 Python 环境下常用的几种方法,开发者可以根据需求选用适合自己的方法。

posted @   中亿丰数字科技  阅读(901)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示