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