06新一代自动化测试神器playwright+python系列课程_playwright元素定位3_定位到多个元素_all方法应用

06_playwright元素定位_定位到多个元素_all方法应用

playwright元素定位时默认时匹配所有符合的元素,当符合定位信息的元素有多个时,我们通常要选择我们需要的元素,此时可以使用all()方法获取到所有定位到的元素对象,返回值为一个列表,这个时候就可以通过索引选择列表中的元素进行操作。

我们以上图中的输入框为例,看一下all()方法的应用。

实践代码:

# '''

# author: 测试-老姜   交流微信/QQ:349940839

# 欢迎添加微信或QQ,加入学习群共同学习交流。

# QQ交流群号:877498247

# 西安的朋友欢迎当面交流。

# '''

from playwright.sync_api import sync_playwright,Playwright,expect

import re

with sync_playwright() as p:

    browser = p.chromium.launch(headless=False,slow_mo=2000) # 设置有头模式启动chrome浏览器

    context = browser.new_context() # 创建上下文,打开浏览器

    page = context.new_page() # 打开标签页

    page.goto('http://127.0.0.1/zentao/user-login-L3plbnRhby8=.html')

    page.locator('.form-control').and_(page.locator('[type="text"]')).fill('admin')

    page.locator('[type="password"]').fill('Deshifuzhi01')

    page.get_by_text(re.compile('^登录$')).click() #利用正则实现文本精确匹配

    page.goto('http://127.0.0.1/zentao/tree-browse-1-case-0-0-qa.html')

    eles = page.frame_locator('#appIframe-qa').get_by_placeholder('模块名称').all()#获取所有元素对象,返回列表

    eles[0].fill('模块1') # 第一输入框

    eles[2].fill('模块3') # 第三个输入框

    page.wait_for_timeout(10000)

    context.close()

    browser.close()

posted @ 2024-03-21 10:57  测试_老姜  阅读(37)  评论(0)    收藏  举报