自动化测试---选择框

自动化测试---选择框_第1张图片
radio框选择选项,直接用WebElement的click方法,模拟用户点击就可以了。

比如, 我们要在下面的html中:

1.先打印当前选中的老师名字
2.再选择 小雷老师

<div id="s_radio">
  <input type="radio" name="teacher" value="小江老师">小江老师<br>
  <input type="radio" name="teacher" value="小雷老师">小雷老师<br>
  <input type="radio" name="teacher" value="小凯老师" checked="checked">小凯老师
</div>

对应的代码如下

# 获取当前选中的元素
element = wd.find_element(By.CSS_SELECTOR, 
  '#s_radio input[name="teacher"]:checked')
print('当前选中的是: ' + element.get_attribute('value'))
# 点选 小雷老师
wd.find_element(By.CSS_SELECTOR, 
  '#s_radio input[value="小雷老师"]').click()

其中 #s_radio input[name="teacher"]:checked 里面的 :checked 是CSS伪类选择

表示选择 checked 状态的元素,对 radio 和 checkbox 类型的input有效


自动化测试---选择框_第2张图片
这个点上去就是 选择,所以我们必须先获取复选框的状态,然后再考虑是否点击


自动化测试---选择框_第3张图片
Selenium 专门提供了一个 Select类 进行操作。

1.select_by_value(‘’)根据选项的 value属性值 ,选择元素。
2.select_by_index(‘’)根据选项的 次序 (从1开始),选择元素
3.select_by_visible_text(‘’)根据选项的 可见文本 ,选择元素。
4.deselect_by_index(‘’)根据选项的次序,去除 选中元素
5.deselect_by_visible_text(‘’)根据选项的可见文本,去除 选中元素
6.deselect_all(‘’)去除 选中所有元素

多选就是多模拟点击几次

你可能感兴趣的:(自动化测试,开发语言)