前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试|web自动化测试神器playwright教程(十四)

软件测试|web自动化测试神器playwright教程(十四)

原创
作者头像
霍格沃兹测试开发Muller老师
发布2023-07-17 17:55:43
1670
发布2023-07-17 17:55:43
举报

前言

我们在日常工作中,经常会遇到下面的情况,我们需要在一个下拉框中选择一个选项:

在使用selenium定位的过程中,我们可以选择使用selenium的Select类,有了playwright,我们的操作会变得更简单一些。

playwright也提供了select的方法进行操作。

select 用法

使用locator.select_option()选择元素中的一个或多个选项。我们可以指定选项value,或label选择并且可以选择多个选项。示例如下:

代码语言:javascript
复制
python复制代码# Single selection matching the value
page.get_by_label('Choose a color').select_option('blue')

# Single selection matching the label
page.get_by_label('Choose a color').select_option(label='Blue')

# Multiple selected items
page.get_by_label('Choose multiple colors').select_option(['red', 'green', 'blue'])

select 元素示例:

代码语言:javascript
复制
html复制代码<select multiple>
  <option value="toyota">Japan</div>
  <option value="volkswagen">Germany</div>
  <option value="byd">China</div>
</select>

代码如下:

代码语言:javascript
复制
python复制代码# single selection matching the value or label
element.select_option("toyota")
# single selection matching the label
element.select_option(label="Germany")
# multiple selection for toyota, volkswagen and second option
element.select_option(value=["toyota", "volkswagen", "byd"])

使用

从option 中选一个

在这里插入图片描述
在这里插入图片描述

示例代码:

  1. 方法一,先定位select元素,再定位选项
  • 根据选项名称定位
代码语言:javascript
复制
python复制代码select = page.get_by_label("s2Id")
select.select_option("o1")
  • 根据index 索引定位
代码语言:javascript
复制
python复制代码select = page.get_by_label("s2Id")
select.select_option(index=1)
  • 根据label 标签定位

页面如下:

代码语言:javascript
复制
html复制代码<select name="test" id="t" onchange="change(this)" >
    <option value="1" label="第一" selected="selected">first</option>
    <option value="2" label="第二">second</option>
    <option value="3" label="第三">third</option>
    <option value="4" label="第四">forth</option>
</select>

代码如下:

代码语言:javascript
复制
python复制代码select = page.get_by_label("选择:")
select.select_option(label="forth")

总结

本文主要介绍了playwright对下拉框的处理,playwright的下拉框处理相对于selenium来说,更加方便,不需要再额外导入其他函数即可完成,定位也非常简单。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • select 用法
      • 使用
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档