打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python+playwright 学习-70 一闪而过的提示消息如何定位

前言

页面上一闪而过的提示语,一般出现1-3秒就会消失,这种消息框如何定位呢?

示例

如下操作成功的提示语

它过1-3秒就自动消失了,按下f12, 鼠标还没指上去就不见了,无法获取它的元素属性。

误区: 首先这不是标准的alert,所以不能用 dialog 事件监听(很多初学者分不清alert 和弹出消息框)

调试暂停

F12后点开源代码,然后点暂停按钮


这时候页面处于调试暂停状态了

再回到检测元素,鼠标指上去,就能看到元素属性了

代码示例

断言消息框内容,可以直接用expect 断言

from playwright.sync_api import sync_playwright, expect

with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=2000)
context = browser.new_context()
page = context.new_page()
page.goto('file:///C:/Users/dell/Desktop/a2/t.html')

# 点击success按钮
page.locator('.btn-success').click()

# 断言
expect(page.locator('.toast-message')).to_have_text("操作成功!")

page.pause()

有些同学习惯于先获取内容,再用assert 断言也可以

from playwright.sync_api import sync_playwright, expect

with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=2000)
context = browser.new_context()
page = context.new_page()
page.goto('file:///C:/Users/dell/Desktop/a2/t.html')

# 点击success按钮
page.locator('.btn-success').click()

# 获取一闪而过的消息框内容
t = page.locator('.toast-message').inner_text()
print(f"消息框内容: {t}")
assert t == '操作成功!'

还有同学提到说如何判断消息框弹出来了, 用if判断元素is_visible() 即可

from playwright.sync_api import sync_playwright, expect

with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=2000)
context = browser.new_context()
page = context.new_page()
page.goto('file:///C:/Users/dell/Desktop/a2/t.html')

# 点击success按钮
page.locator('.btn-success').click()

# 如何判断消息框弹出来了
if page.locator('.toast-message').is_visible():
print("消息框弹出来了。。。。")

page.pause()

2023年第 15期《Python接口自动化+Playwright 》课程,6月24号开学(课程全面升级!)

《Playwright+Python自动化测试》系列合集

《Playwright+Python自动化测试》网易云平台完整视频

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Playwright安装及基本用法
Python Playwright API使用实例详解
不用写一行代码!Python最强自动化神器Playwright!
微软开源Node.js浏览器自动化库——playwright
新一代python爬虫利器Playwright——自动写代码!
分享一个playwright网络爬虫实战教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服