Python中selenium_webdriver下拉框操作指南
环境搭建
首先以python3.x为基础来搭建基础环境
1.安装python 基础环境(python的基础环境太简单了在这里就不说啦)
2.安装完成python我们需要安装一下python的基础工具包pip,正常情况一下,安装python的时候会把pip基础包安装,但是也有一些人没有安装。
i.下载pip 安装包,记住这里要找什么exe文件,直接用源码安装。
ii.解压pip-9.0.1.tar.gz,执行python setup.py 安装pip;
3.pip 安装完成以后,采用管理员的方式打开命令行执行pip install selenium 安装selenium。(环境搭建就是这么简单)
4.安装webdriver 驱动,驱动下载需要FQ,既然要学习自动化,FQ肯定很容易啦,我这边使用的是chrome浏览器,所以下载了chromedriver驱动。
IEdriver 下载地址:http://selenium-release.storage.googleapis.com/index.html
注意:由于浏览器的版本不同请根据自己的情况来选择驱动版本,如果版本选择不匹配,在打开浏览器会提示报错的,看到下图的时候,说明你版本已经不兼容了。
我这边安装的Chrome 的版本是58.0.3029.81,chromedriver的版本是2.29
5.记住webdriver的驱动要存放在python的安装目录下,也就是放在python.exe同一级目录,要不然你会打不开浏览器的。
Python selenium_webdriver下拉框操作
下拉框操作需要用:from selenium.webdriver.support.select import Select引入Select类:
from selenium import webdriver #引入webdriver
from selenium.webdriver.support.select import Select #引入Select
from time import sleep #引入时间
driver = webdriver.Firefox() #打开火狐浏览器
driver.get('file:///C:/Users/CY-MHQ/Desktop/%E6%B1%87%E6%99%BA%E5%8A%A8%E5%8A%9B/%E8%87%AA%E5%8A%A8%E5%8C%96/4select%20-%20%E4%B8%8B%E6%8B%89%E6%A1%86.html') #进入网页
select_ele = driver.find_element('id','nr') #定位到id为nr的下拉框并起名为select_ele
select_ob = Select(select_ele) #生成下拉框的实例对象
select_ob.select_by_index(2) #选取下拉框中第三个
类中的方法有:
- select_by_index('index') # 通过索引选择,索引从0开始
- select_by_value('value') # 通过value的值选择
- select_by_visible_text('text') # 通过文本选择
- options # 返回所有的选择项
- is_multiple # 判断是否为多个值,是的话返回True,否则返回None
- first_selected_option # 返回选中的第一个选择项
- deselect_by_visible_text('text') # 通过文本取消选择
- deselect_by_value('value') # 通过值取消选择
- deselect_by_index('index') # 通过索引取消选择
- all_selected_options # 返回所有已选中的选择项
- deselect_all() # 取消全选
以上方法中 5,6,10,11 只能用于多选
总结
到此这篇关于Python中selenium_webdriver下拉框操作指南的文章就介绍到这了,更多相关Python selenium_webdriver下拉框操作内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341