playwright的基础使用(三)-使用方法

1、缺省时间——在playwright中建议使用,不建议使用time.sleep()

page.wait_for_timeout(1000)  # 等待时间为毫秒

2、获取文本内容

需先定位元素,在从元素中获取文本

page.locator(定位元素).inner_text()  # 获取普通文本内容
page.locator(定位元素).text_content()  # 获取单文本内容,隐藏内容
page.locator(定位元素).all_text_content()  # 获取所有文本内容,隐藏内容

3、点击(click)

page.locator('src').click()  # 单价
page.locator('#su').dblclick()  # 双击

4、悬停

将鼠标放到元素位置

page.locator('#su').hover()
page.get_by_text("定位元素").hover()

5、等待元素可见

# 元素原不可见,等待后可见,在进行操作timeout是毫秒
page.locator('#source').wait_for(timeout=3000)

6、page页面操作

page.go_back()  # 前进
page.go_forward() # 后退
page.reload()  # 刷新
page.title()  # 获取title
page.content()	# 获取网页的html
page.set_viewport_size({"width":640,"height":480}) #设置页面大小


# 切换浏览器标签页
from playwright.sync_api import sync_playwright
p = sync_playwright().start()
# headless设置图形界面
# 返回对象为browser类型
browser = p.chromium.launch(headless=False)

# 创建BrowserContext对象
context = browser.new_context()

# 启动跟踪功能
context.tracing.start(snapshots=True, sources=True, screenshots=True)

page = context.new_page()
page.goto("https://www.baidu.com/")
page.locator('a').click()
# 等待2秒
page.wait_for_timeout(2000)
# pages属性是 所有窗口对应的page对象的列表,后续可通过newPage进行操作
# 首次访问为0,后续跳转页面从1开始
newPage = context.pages[1]
# newPage.locator('#source')

# 结束跟踪
context.tracing.stop(path="trace.zip")

page.close()
p.stop()

7、frame切换

# 返回frame对象
frame =page.frame_locator('iframe[src="sample1.html"]')
lcs = farme.locator(".sourc").all()

# 在使用过程中不支持writ_for_timeout的方法

8、截屏

# 截屏当前页面可见内容,保存到当前工作目录下
page.screenshot(path="loginMaskLi.png")
# 截屏完整页面,页面内容长度超过窗口高度时,包括不可见部分
page.screenshot(path="loginMaskLi.png",full_page=True)

#只针对某个可见元素的显示内容进行截屏,使用locator的对象
page.locator('#input[type=file]').screenshot(path="loginMaskLi.png")

9、断言

expect与to_be_visible结合使用

expect函数
toEqual:相等
toContain:包含
toBetruthy:是否


expect
# expect 断言 严谨只找其中一个
expect(page).to_have_title("断言元素")
# nth从多个中找最后一个,to_be_visible是是否存在 .last 找最后一个 first 找到第一个
expect(page.get_by_text("元素").nth(-1)).to_be_visible(timeout=300)
# 通用文本进行断言
expect(page.locator(f'//thy-tag[text()="{产品标识}"]')).to_be_visible()

assert
# assert 判断是否存在  count多少个
assert page.get_by_text("元素").count()

10、键盘回车键

page.keyboard.press("Enter")

备注:

        后续使用中常见的在进行补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值