- Select API 知识点
-
select_by_index() 根据索引选择,0是第一个元素
select_by_value() 根据value属性的值选择
select_by_visible_text() 根据可见文本选择;不要写前后的空格 -
deselect_by_index(index) 取消选择,0是第一个元素
deselect_by_value(value) 根据value属性的值取消选择
deselect_by_visible_text(text) 根据可见文本取消选择;不要写前后的空格
deselect_all() 全部取消选择
-
- 案例
- select.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="div1"> <!-- select 下拉框 --> <select name="sex" id="gender"> <option value=" male"> male</option> <option value="female">female</option> <option value="tailand">tailand</option> </select> <!-- select标签多选,通过multiple属性 --> <select name= “education” id=”education” multiple=”multiple”> <option value=”1”>高中</option> <option value=”2”>大学</option> <option value=”3”>博士</option> <option value=”4”>硕士</option> </select> </div> </body> </html>
- ele_select.py
# -*- coding: UTF-8 -*- import os from time import sleep from selenium.webdriver.support.select import Select from selenium import webdriver driver = webdriver.Chrome('../chromedriver.exe') driver.get(os.path.abspath('select.html')) test_flag = 3 if test_flag == 1: driver.find_element('css selector', '#gender>option:nth-child(2)').click() # 不用API,可以直接点 if test_flag == 2: ele_select = driver.find_element('css selector', '#gender') Select(ele_select).select_by_index(1) # female sleep(2) Select(ele_select).select_by_value('tailand') # tailand sleep(2) # xpath = ".//option[normalize-space(.) = %s]" % self._escape_string(text) 源码中normalize-space去除首尾空格 Select(ele_select).select_by_visible_text('male') if test_flag == 3: ele_select = driver.find_element('css selector', '#”education”') Select(ele_select).select_by_index(0) sleep(2) Select(ele_select).select_by_index(1) sleep(2) Select(ele_select).deselect_by_index(0) Select(ele_select).deselect_all() sleep(2) # Select(ele_select).deselect_by_value('') # sleep(2) # Select(ele_select).deselect_by_visible_text('')
注意:根据可见文本选择时,若元素中含有空格不需要写,因为在源码中normalize-space已去除首尾空格
- select.html
- 中文(简体)
- 中文(繁体)
- 丹麦语
- 乌克兰语
- 乌尔都语
- 亚美尼亚语
- 俄语
- 保加利亚语
- 克罗地亚语
- 冰岛语
- 加泰罗尼亚语
- 匈牙利语
- 卡纳达语
- 印地语
- 印尼语
- 古吉拉特语
- 哈萨克语
- 土耳其语
- 威尔士语
- 孟加拉语
- 尼泊尔语
- 布尔语(南非荷兰语)
- 希伯来语
- 希腊语
- 库尔德语
- 德语
- 意大利语
- 拉脱维亚语
- 挪威语
- 捷克语
- 斯洛伐克语
- 斯洛文尼亚语
- 旁遮普语
- 日语
- 普什图语
- 毛利语
- 法语
- 波兰语
- 波斯语
- 泰卢固语
- 泰米尔语
- 泰语
- 海地克里奥尔语
- 爱沙尼亚语
- 瑞典语
- 立陶宛语
- 缅甸语
- 罗马尼亚语
- 老挝语
- 芬兰语
- 英语
- 荷兰语
- 萨摩亚语
- 葡萄牙语
- 西班牙语
- 越南语
- 阿塞拜疆语
- 阿姆哈拉语
- 阿尔巴尼亚语
- 阿拉伯语
- 韩语
- 马尔加什语
- 马拉地语
- 马拉雅拉姆语
- 马来语
- 马耳他语
- 高棉语