playwright同步模块sync_api创建页面

在上下文中创建一个页面(标签页)

page=context.new_page()

页面的方法和属性

page页面支持的事件

“close”、“console”(js调用控制台api时)、“crash”(页面崩溃时)、“dialog”(当出现对话框时,默认关闭所有对话框)、“domcontentloaded”、“download”(下载开始时)、“filechooser”(文件选择器出现时)、“frameattached”(加入框架时)、“framedetached”(卸载框架时)、“framenavigated”(将框架导航至新url时)、“load”(页面加载完成)、“pageerror”(页面发生未捕获的异常时)、“popup”(打开新选项卡或窗口时)、“request”(页面发出请求时)、“requestfailed”(请求失败时)、“requestfinished”(下载响应正文后请求成功完成时)、“response”(收到请求的响应状态和标头时)、“websocket”(发送WebSocket请求时)、“worker”(生成专用WebWorker时)

page的属性:
keyboard:页面键盘对象
mouse:页面鼠标对象
context:获取页面所属的浏览器上下文
frames:获取页面中所有框架列表
main_frame:获取页面主框架
url:页面的url
video:与此页面关联的视频对象
requests:请求api

add_init_script(,path,script):在创建文档之后,但在运行其任何脚本之前运行指定javascript脚本
add_script_tag(
,content,path,style,url):将content指定的js代码和path指定的js文件注入到url指定的框架中,style为"module"表示是ES6
add_style_tag(**,content,path,url):注入指定的css样式
bring_to_front():将页面置于最前面(激活选项卡)

check(selector,,force,no_wait_after,position,timeout):查找并选定找到的单选或复选框
uncheck(selector,
,force,no_wait_after,position,timeout):查找并取消选定找到的单选或复选框
click(selector,,button,click_count,delay,force,modifiers,position,timeout,no_wait_after)
dblclick(selector
,button,delay,force,modifiers,position,timeout,no_wait_after)
selector:str,用于查找元素的css选择器语法,支持伪类,如果找到多个元素将使用第一个
modifiers:list(None),在操作过程中保持按下的按键,list中支持的元素’Alt’, ‘Control’, ‘Meta’, ‘Shift’
position:tuple,指定相对于元素左上角的坐标作为点击位置,未指定则使用元素的某个可见点
delay:int,鼠标按下松开的间隔时间(毫秒)
button:str,按下鼠标的哪个键,支持’left’, ‘middle’, ‘right’
click_count:int(1),点击的次数
timeout:int(30000),完成操作的超时时间,如果没有找到指定元素会等待直到查找到该元素
force:bool(False),是否绕过可操作性检查
no_wait_after:bool(False),是否不等待页面加载
strict:bool,如果为true,则要求选择器解析为单个元素。如果选择器解析为多个元素,则将引发异常
close(run_before_unload):关闭页面,run_before_unload表示是否运行卸载前页面处理程序,默认False
content():获取页面的完整HTML内容,包括doctype
dispatch_event(selector,event,,timeout):运行指定元素的指定事件(无论该元素是否可见)
drag_and_drop(source, target, kwargs):元素拖放操作
source :str
target :str
force :bool(Fasle),是否绕过可操作性检查
no_wait_after :bool(Fasle),是否跳过等待加载内容
source_position :dict,启示元素的点击位置{x:float;y:float}
target_position :dict,终止元素的点击位置{x:float;y:float}
timeout :float(30000),超时时间(毫秒)
eval_on_selector(selector,expression,arg)
expression:str,看起来函数则被解释为一个函数(第一个参数为选择的元素),否则,解释为表达式
arg为传给函数的其他参数
如果expression返回一个Promise,将等待该Promise解决并返回其值
eval_on_selector_all(selector,expression,arg)
在页面中找到匹配的所有元素(数组),并将数组作为第一个参数传递给函数
evaluate(expression,arg):运行expression字符串解析的js代码
expect_event(event:str,
, predicate:func=None,timeout:float=30000.0)
等待指定的事件发生并执行predicate指定的方法,func方法接受指定的事件数据
该方法返回一个上下文管理器
expect_navigation(
,timeout,wait_until):等待主框架加载完毕后返回相应资源
wait_until:指定加载完成的标志
‘domcontentloaded’:触发DOMContentLoaded事件时
‘load’:触发load事件时,默认为load
‘networkidle’:至少500毫秒没有网络连接时
‘commit’:当收到网络响应并开始加载文档时
expose_binding(name, callback, ,handle:bool):绑定一个函数到页面中
name:绑定的函数名称
callback:绑定要执行的函数执行,该函数接受一个包含当前页面所有信息的对象
handle :是否将参数作为句柄传递,而不是按值传递。传递句柄时,仅支持一个参数。按值传递时,支持多个参数
expose_function(name:str,callback:func):功能同上,不同的是该方法不会自动传递参数
fill(selector,value,kwargs):
执行一系列操作:查找指定元素,可操作性检查,对元素进行聚焦,填充指定内容
查找到的元素只能为input,textarea或者设置了contenteditable属性的元素,否则报错
kwargs可选参数:force、timeout、no_wait_after
focus(selector,
,timeout):查找指定元素并对其进行聚焦
page.frame(
,name,url):查找并返回页面中指定的框架
name为框架的name属性值
url可以使用glob模式字符串或正则对象
get_attribute(selector,name,,timeout):获取元素的name属性值
go_back(
,timeout,wait_until):在历史记录中后退一步
go_forward(timeout,wait_until):在历史记录中前进一步
goto(url,,timeout,wait_until,referer):访问指定网址
hover(selector,
,modifiers,position,timeout,force):查找某个元素并将光标移动到元素上
inner_html(selector,,timeout):返回指定元素的element.innerHTML
inner_text(selector,
,timeout):返回指定元素的element.innerText
input_value(selector,,timeout):返回指定的input、textarea或select元素的value值
is_checked(selector,
,timeout):检查元素是否是复选或单选
is_disabled(selector,,timeout):检查元素是否被禁用
is_editable(selector,
,timeout):检查元素是否可编辑
is_enabled(selector,,timeout):检查元素是否已启用
is_hidden(selector,
,timeout):检查元素是否不可见
is_visible(selector,,timeout):检查元素是否可见
is_enabled(selector,
,timeout):检查元素是否已启用
is_enabled(selector,,timeout):检查元素是否已启用
is_closed():检测页面是否已关闭
locator(selector):返回指定的元素
opener():返回父页面,如果已关闭或不存在返回null
pause():暂停脚本的执行
pdf(kwargs):将页面保存为pdf文件
display_header_footer:bool(False),是否显示页眉和页脚
height、width:str|float,纸张高度和宽度
可以接受含单位的字符串,接受的单位px(像素)、in(英寸)、cm(厘米)、mm(毫米)
float单位为像素
landscape:bool(False),是否宽版显示
margin:dict,内边距,可用top、right、bottom和left四个字段,值为float或str
page_ranges:str,打印范围,如"2-4,7,9-11",默认空字符串,表示打印所有页面
path:str,pdf的保存路径
scale:float,页面的显示大小,接受0.1-2的浮点数
press(selector, key, ,delay,no_wait_after,timeout):聚焦到指定的元素,按下指定按键并松开
delay:float(0.0),按下和松开的时间间隔(毫秒)
key:str,可用的值有:F1 - F12, Digit0- Digit9, KeyA- KeyZ, Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape, ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight, ArrowUp, Shift, Control, Alt, Meta, ShiftLeft
可以使用组合,如"Control+o"或"Control+Shift+T",使用组合是的字母直接使用字符
query_selector(selector):在页面中查找第一个匹配的元素并返回该元素、返回ElementHandle
query_selector_all(selector):在页面中查找所有匹配的元素并返回列表
reload(
,timeout,wait_until):重新加载页面
screenshot(
,clip,full_page,omit_background,path,quality,timeout,type):屏幕截图
clip:dict,指定截取的区域,可用的字段
x,y:float,截取的开始坐标
width,height:float,截取区域的宽度和高度
full_page:bool(False),是否截取包含滚动的全部页面内容,默认只截取可见区域
omit_background:bool(False),背景是否透明
quality:int,保存图片0-100的质量,仅适用于jpeg格式
type:str(“jpeg”),指定图片类型,可选"jpeg"或"png"
set_checked(selector, checked, kwargs):选择单选或复选进行操作
checked:bool,该元素是选中状态还是未选中状态
force:bool(False),是够绕过可操作性检查
position:dict,要点击的相对于元素左上角的坐标(float的字段x和y)
no_wait_after、timeout
uncheck(selector, kwargs):将指定的单选或多选设为未选中状态,可选参数force、position、no_wait_after、timeout
set_content(html,
,timeout,wait_until):使用指定的html代码字符串填充该页面
set_default_navigation_timeout(timeout):设定默认的页面加载超时时间
set_default_timeout(timeout):设定默认的超时时间
set_extra_http_headers(dict):页面发起的每个请求都会发送额外的HTTP标头
set_input_files(selector, files, kwargs)
选中指定的input元素并输入指定的文件的路径
files:str、[str]list或dict,dict的可用字段
name :str,文件名
mimeType :str,文件类型
buffer :bytes,文件的内容
set_viewport_size(dict):设置页面的视图大小,int类型的width和height字段,单位为像素
text_content(selector,
,timeout):返回element.textContent
title():返回页面title
type(selector, text, ,delay,no_wait_after,timeout):聚焦到指定的元素,并未text中的每个字符发送keydown和keypress事件
viewport_size():页面窗口的大小
wait_for_event(event,
,predicate,timeout)
等待事件event触发,并将其值传递给predicate函数
同时会传给page.on(event)
wait_for_function(expression,
,arg,polling,timeout):持续的运行expression表达式
polling:float,运行表达式的时间间隔(毫秒)
wait_for_load_state(
,state,timeout):等待直到指定的页面加载状态
state:str(“load”):可选值’load’、‘domcontentloaded’、‘networkidle’(至少500毫秒没有网络连接)
wait_for_selector(selector,**,state,timeout):等待指定的元素满足条件时返回改元素
state:str(“visible”),可用的值
‘attached’:等待元素出现在DOM中
‘detached’:等待元素不存在于DOM中
‘visible’:等待元素具有非空边界框并且没有隐藏。没有任何内容和边界也被视为隐藏
‘hidden’:等待元素从DOM分离,或具有空边界框或隐藏
本文固定链接: https://www.qingheluo.com/playwrighttongbumokuaisync_apichuangjianyemian/
转载请注明: qingheluo 2021年01月04日 于 清河洛 发表

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值