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文件 其他相关属性…...
 
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
 
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
 
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
 
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
 
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
 
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
 
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
