吾八哥博客

您现在的位置是:首页 > DevOps > 自动化 > 正文

自动化

吾八哥学Selenium(四):操作下拉框select标签的方法

吾八哥2018-02-08自动化3298

我们在做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')

运行效果如下:

QQ图片20180131235924.png

实际上在工作中还有一种下拉框input,这个我们后面再介绍了!这里只是给大家做个入门的引导,遇到问题的可以在QQ群里互相交流!