软件测试|web自动化测试神器playwright(五)
【摘要】 前言在web自动化测试中,frame是我们绕不开的一个东西,也是我们很头疼的东西,selenium处理frame,需要切换到frame中,然后再切换出来,操作比较麻烦,那么playwright对于frame的操作会不会更加简单呢?答案是肯定的,playwright不需要切换frame,直接定位元素即可。下面我们来介绍一下playwright的frame处理。 iframe定位要处理fram...
前言
在web自动化测试中,frame是我们绕不开的一个东西,也是我们很头疼的东西,selenium处理frame,需要切换到frame中,然后再切换出来,操作比较麻烦,那么playwright对于frame的操作会不会更加简单呢?
答案是肯定的,playwright不需要切换frame,直接定位元素即可。下面我们来介绍一下playwright的frame处理。
iframe定位
要处理frame,我们需要先定位frame,在playwright中,我们可以使用page.frame_locator()或locator.frame_locator()方法创建 FrameLocator 捕获足该 iframe 中检索和定位元素。
示例如下:
locator = page.frame_locator("my-frame").get_by_text("Submit")
locator.click()
使用frame_locator() 定位到iframe上,然后继续在上面使用locator方法定位元素
iframe 定位器是严格的。这意味着如果有多个元素与给定的选择器匹配,则对 iframe 定位器的所有操作都会抛出异常。示例如下:
# 一个DOM中有多个frame:
page.frame_locator('.result-frame').get_by_role('button').click()
# 多个frame中,取第一个,即可正常生效:
page.frame_locator('.result-frame').first.get_by_role('button').click()
在带有 id 的 iframe 中定位带有文本“提交”的元素my-frame,例如
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)