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)):监听页面错误事件
相关文章:
Playwright中Page类的方法
导航和页面操作 goto(url: str, **kwargs: Any): 导航到一个URL。 reload(**kwargs: Any): 重新加载当前页面。 go_back(**kwargs: Any): 导航到会话历史记录中的前一个页面。 go_forward(**kwargs: Any): 导航到会话历史记录中的下一个页面。 set_default_navigation_tim…...
硬链接方式重建mysql大表
硬链接方式重建mysql大表 操作步骤 选择数据库 select datadir; 进入数据文件目录 cd /data/mysql/mydata/testdb 创建硬连接 ln test_trans_msg_xx.ibd test_service_trans_msg_xx.ibd.bak ll test_trans_msg_xx* 进库删除表 DROP TABLE test_trans_msg_xx; 重建表 CREATE T…...
GPIO在ZYNQ7000中的结构和相关寄存器解析
GPIO MASK DATA LSW和 MASK DATA MSW LSW和MSW分别是LSW (Least Significant Word)和MSW (Most Significant Word)。 因为DATA是u32,所以如果寄存器的基址是XGPIOPS_DATA_LSW_OFFSET,那么32位就能同时让高16位的MASK DATA MSW]31:16和 MASK DATA LSW的bit7同时为…...
Qt Xlsx安装教程
Qt Xlsx安装教程 安装perl 如果没有安装perl,请参考perl Window安装教程 下载QtXlsxWriter源码 下载地址 ming32-make编译32 lib库 C:\Qt\Qt5.12.12\5.12.12\mingw73_32>d: D:\>cd D:\Code\QtXlsxWriter-master\QtXlsxWriter-master D:\Code\QtXlsxWrit…...
Certimate自动化SSL证书部署至IIS服务器
前言:笔者上一篇内容已经部署好了Certimate开源系统,于是开始搭建部署至Linux和Windows服务器,Linux服务器十分的顺利,申请证书-部署证书很快的完成了,但是部署至Windows Server的IIS服务时,遇到一些阻碍&a…...
【中工开发者】鸿蒙商城实战项目(启动页和引导页)
创建一个空项目 先创建一个新的项目选择第一个,然后点击finish 接下来为项目写一个名字,然后点击finish。 把index页面的代码改成下面代码块的代码,就能产生下面的效果 Entry Component struct Index {build() {Column(){Blank()Column(){…...
跟李笑来学美式俚语(Most Common American Idioms): Part 63
Most Common American Idioms: Part 63 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记,自用。 Github仓库链接:https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来(或者clone到本地…...
scala中如何解决乘机排名相关的问题
任务目标: 1.计算每个同学的总分和平均分 2.按总分排名,取前三名 3.按单科排名,取前三名 好的,我们可以用Scala来完成这个任务。下面是一个简单的示例代码,它将演示如何实现这些功能: // 假设我们有一个…...
OpenCV相机标定与3D重建(10)眼标定函数calibrateHandEye()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算手眼标定: g T c _{}^{g}\textrm{T}_c gTc cv::calibrateHandEye 是 OpenCV 中用于手眼标定的函数。该函数通过已知的机器人…...
Hadoop生态圈框架部署(九-2)- Hive HA(高可用)部署
文章目录 前言一、Hive部署(手动部署)下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决冲突2.3.1 解决guava冲突2.3.2 解决SLF4J冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在M…...
docker 相关操作
1. 以下是一些常见的 Docker 命令: docker --version显示安装的 Docker 版本。 docker pull <image_name>从 Docker Hub 或其他镜像仓库下载镜像。 docker build -t <image_name> <path>从指定路径的 Dockerfile 构建 Docker 镜像。 docker i…...
AI作图效率高,亲测ToDesk、顺网云、青椒云多款云电脑AIGC实践创作
一、引言 随着人工智能生成内容(AIGC)的兴起,越来越多的创作者开始探索高效的文字处理和AI绘图方式,而云电脑也正成为AIGC创作中的重要工具。相比于传统的本地硬件,云电脑在AIGC场景中展现出了显著的优势,…...
【代码随想录day57】【C++复健】 53. 寻宝(prim算法);53. 寻宝(kruskal算法)
53. 寻宝(prim算法) 好像在研究生的算法课上学过prim算法和kruskal算法,不过当时只是了解了一下大致的概念和流程,并没有涉及到如何去写代码的部分,今天也算是学习了一下这两个算法的代码应该如何去实现,还…...
C++中多态
1) 什么是多态性?C中如何实现多态? 多态性是指通过基类指针或引用调用派生类的函数,实现不同的行为 多态性可以提高代码的灵活性和可扩展性,使程序能够根据不同的对象类型执行不同的操作。 2)C中如何实现多态&#…...
【实现多网卡电脑的网络连接共享】
电脑A配备有两张网卡,分别命名为eth0和eth1(对于拥有超过两张网卡的情况,解决方案相似)。其中,eth0网卡能够连接到Internet,而eth1网卡则通过网线直接与另一台电脑B相连(在实际应用中࿰…...
算力介绍与解析
算力(Computing Power)是指计算机系统在单位时间内处理数据和执行计算任务的能力。算力是衡量计算机性能的重要指标,直接影响计算任务的速度和效率。 算力的分类和单位 a. 基础算力:以CPU的计算能力为主。适用于各个领域的计算。…...
解决 MyBatis 中空字符串与数字比较引发的条件判断错误
问题复现 假设你在 MyBatis 的 XML 配置中使用了如下代码: <if test"isCollect ! null"><choose><when test"isCollect 1">AND exists(select 1 from file_table imgfile2 where task.IMAGE_SEQimgfile2.IMAGE_SEQ and im…...
python 词向量的代码解读 self.word_embeds = nn.Embedding(vocab_size, embedding_dim) 解释下
在PyTorch中,nn.Embedding 是一个用于将稀疏的离散数据表示为密集的嵌入向量的模块。这在自然语言处理(NLP)任务中非常常见,例如在处理单词或字符时,我们通常需要将这些离散的标识符转换为可以被神经网络处理的连续值向…...
记一次:使用C#创建一个串口工具
前言:公司的上位机打不开串口,发送的时候设备总是关机,因为和这个同事关系比较好,编写这款软件是用C#编写的,于是乎帮着解决了一下(是真解决了),然后整理了一下自己的笔记 一、开发…...
Android Studio新版本的一个资源id无法找到的bug解决
Android Studio新版本的一个资源id无法找到的bug解决 文章目录 Android Studio新版本的一个资源id无法找到的bug解决一、前言二、Android Studio的无法获取到资源id的bug1、一段简单的Java代码1、错误现象2、错误解决方法 三、其他1、小结2、gradle.properties文件 其他相关属性…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...
【iOS】 Block再学习
iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...
