Playwright中Page类的方法

导航和页面操作

goto(url: str, **kwargs: Any): 导航到一个URL。
reload(**kwargs: Any): 重新加载当前页面。
go_back(**kwargs: Any): 导航到会话历史记录中的前一个页面。
go_forward(**kwargs: Any): 导航到会话历史记录中的下一个页面。
set_default_navigation_timeout(timeout: float): 设置默认的导航超时时间(以毫秒为单位)。
set_viewport_size(width: int, height: int): 设置视口大小。
bring_to_front(): 将页面带到前台。
close(**kwargs: Any): 关闭页面。
context() -> "BrowserContext": 获取与此页面关联的浏览器上下文。
is_closed() -> bool: 如果页面已关闭,则返回True。
pdf(path: Union[Path, str, None] = None, **kwargs: Any): 将页面保存为PDF文件。
screenshot(path: Union[Path, str, None] = None, **kwargs: Any): 对页面进行截图并保存到指定路径。
set_content(html: str, **kwargs: Any): 设置页面的HTML内容。
content() -> str: 获取页面的HTML内容。
title() -> str: 获取页面的标题。
title() -> str: 获取页面的标题。
page.request.get() :get 请求
page.request.post(): post请求

页面元素定位和交互

click(selector: str, **kwargs: Any): 使用选择器找到元素并点击。
fill(selector: str, value: str, **kwargs: Any): 使用选择器找到表单元素,并填充指定的值。
press(selector: str, key: str, **kwargs: Any): 模拟在指定元素上按下键盘键。
type(selector: str, text: str, **kwargs: Any): 在指定元素中输入文本。
check(selector: str, **kwargs: Any): 选中指定的复选框或单选按钮。
uncheck(selector: str, **kwargs: Any): 取消选中指定的复选框或单选按钮。
select_option(selector: str, value: str, **kwargs: Any): 在指定的下拉列表中选择一个选项。
locator(selector: str) -> "Locator": 获取一个Locator对象,用于通过CSS选择器、XPath等定位页面元素。
get_by_test_id(id: str) -> "Locator": 通过data-testid属性获取元素。
get_by_role(role: str) -> "Locator": 通过role属性获取元素。
get_by_label(label: str) -> "Locator": 通过label属性获取元素。
get_by_placeholder(placeholder: str) -> "Locator": 通过placeholder属性获取元素。
get_by_alt_text(alt: str) -> "Locator": 通过alt属性获取元素。
get_by_title(title: str) -> "Locator": 通过title属性获取元素。
get_by_text(text: str) -> "Locator": 通过文本内容获取元素。
frame(frame_locator: Union["FrameLocator", str]) -> "Frame": 获取一个Frame对象。
frame_locator(selector: str) -> "FrameLocator": 获取一个FrameLocator对象。
drag_and_drop(source: str, target: str, **kwargs: Any): 拖动一个元素并将其放置到另一个位置。
frames() -> List["Frame"]: 获取所有的Frame对象。

页面事件和等待

wait_for_event(event_name: str, **kwargs: Any): 等待一个事件。
wait_for_function(page_function: str, arg: Any = None, **kwargs: Any): 等待一个函数返回True。
wait_for_load_state(state: str = "load", **kwargs: Any): 等待页面达到指定的加载状态。
wait_for_url(url: str, **kwargs: Any): 等待页面的URL匹配一个模式。
wait_for_selector(selector: str, state: Optional[str] = None, **kwargs: Any): 等待指定选择器匹配到的元素满足给定状态(如可见、可点击等)。
expect_event(event_name: str, **kwargs: Any): 期待一个事件。
expect_console_message(message: Union[str, Pattern], **kwargs: Any): 等待一个控制台消息。
expect_download(**kwargs: Any): 等待一个下载。
expect_file_chooser(**kwargs: Any): 等待一个文件选择器。
expect_popup(**kwargs: Any): 等待一个弹出窗口。
expect_request(url: Union[str, Pattern], **kwargs: Any): 等待一个请求。
expect_request_finished(url: Union[str, Pattern], **kwargs: Any): 等待一个请求完成。
expect_response(url: Union[str, Pattern], **kwargs: Any): 等待一个响应。
expect_websocket(**kwargs: Any): 等待一个WebSocket。
expect_worker(**kwargs: Any): 等待一个Worker。

JavaScript执行和脚本处理

evaluate(page_function: str, arg: Any = None, **kwargs: Any): 在页面上执行一个JavaScript函数,并返回结果。
evaluate_handle(page_function: str, arg: Any = None, **kwargs: Any): 获取一个可以在页面上执行JavaScript的句柄。
add_init_script(script: str, **kwargs: Any): 添加一个在每个新页面加载时运行的脚本。
expose_binding(name: str, playwright_binding: Callable[..., Any], **kwargs: Any): 在页面上公开一个绑定。
expose_function(name: str, playwright_function: Callable[..., Any], **kwargs: Any): 在页面上公开一个函数。

网络请求和拦截处理

route(url: Union[str, Pattern], handler: Callable[["Route"], Awaitable[None]], **kwargs: Any): 添加一个路由。
route_from_har(har_entries: List[Dict[str, Any]], **kwargs: Any): 从HAR文件添加路由。
unroute(url: Union[str, Pattern], **kwargs: Any): 移除一个路由。
unroute_all(**kwargs: Any): 移除所有路由。
set_extra_http_headers(headers: Dict[str, str]): 设置额外的HTTP头。
emulate_media(media: Union[None, str, Media]): 模拟媒体类型或颜色方案。

其他操作

add_locator_handler(name: str, handler: Callable[["Locator", Dict[str, Any]], "Locator"]): 添加一个定位器处理器。
add_script_tag(url: Optional[str] = None, content: Optional[str] = None, **kwargs: Any): 在页面中添加一个script标签。
add_style_tag(url: Optional[str] = None, content: Optional[str] = None, **kwargs: Any): 在页面中添加一个style标签。
pause(): 暂停执行,直到用户手动恢复。
set_default_timeout(timeout: float): 设置默认的超时时间(以毫秒为单位)。

事件

page.on('load', Callable()):监听页面加载事件
page.on('domcontentloaded', Callable()): 监听 DOMContentLoaded 事件
page.on('request', Callable()):监听请求事件
page.on('response', Callable()):监听响应事件
page.on('dialog', Callable()):监听弹窗事件
page.on('pageerror', Callable(error)):监听页面错误事件
相关推荐
英英_3 分钟前
python 爬虫框架介绍
开发语言·爬虫·python
大模型铲屎官1 小时前
【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作
开发语言·人工智能·pytorch·python·深度学习·大模型·字典
yunvwugua__1 小时前
Python训练营打卡 Day27
开发语言·python
Stara05112 小时前
基于多头自注意力机制(MHSA)增强的YOLOv11主干网络—面向高精度目标检测的结构创新与性能优化
人工智能·python·深度学习·神经网络·目标检测·计算机视觉·yolov11
那雨倾城3 小时前
使用 OpenCV 将图像中标记特定颜色区域
人工智能·python·opencv·计算机视觉·视觉检测
LuckyTHP6 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
mahuifa7 小时前
(7)python开发经验
python·qt·pyside6·开发经验
学地理的小胖砸9 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
安迪小宝9 小时前
6 任务路由与负载均衡
运维·python·celery
Blossom.1189 小时前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算