我们在做web页面自动化测试的时候会经常遇到<select></select>标签的下拉框,那么在Python里如何实现去操作这种控件呢?今天就给大家分享一下这个玩法。为了让大家学习更方便,我准备了一个测试页面。
测试的html页面代码为:
<html>
<head>
<title>学Python网 - Selenium学习测试页面</title>
<body>
请选择2018年春节回家的方式!
<select id="traffic" class="form-control valid" onchange="" name="traffic">
<option value="">买不到票</option>
<option value="0">火车</option>
<option value="1">飞机</option>
<option value="2">汽车</option>
<option value="3">轮船</option>
<option value="4">自驾</option>
<option value="5">摩托车</option>
<option value="6">自行车</option>
</select>
</body>
</head>
</html>
根据html源代码简单分析下,该select标签有id,那么我们就可以使用find_element_by_id来定位了,当然xpath的方式肯定也是可行的!Python代码如下:
# Autor: 5bug
# WebSite: http://www.XuePython.wang
# 学Python网QQ群: 643829693
from selenium import webdriver
from selenium.webdriver.support.select import Select driver = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.maximize_window()
driver.get('file:///E:\MyCodes\Python\demos\XuePython.wang\Selenium\Test.html')
sel =Select(driver.find_element_by_id('traffic'))
#打印所有的下拉框选项
for item in sel.options:
print(item.text)
#选择回家方式 若要选择其他的方式则输入相对应的value参数即可
sel.select_by_value('1')
运行效果如下:
实际上在工作中还有一种下拉框input,这个我们后面再介绍了!这里只是给大家做个入门的引导,遇到问题的可以在QQ群里互相交流!
本文首发吾八哥个人博客:http://www.5bug.wang