selenium对web下拉菜单的处理(调戏)

Select提供了三种选择方法:
select_by_index(index)               --通过选项的顺序,第一个为0
select_by_value(value)               --通过value属性
select_by_visible_text(text)         --通过选项可见文本

Select还提供了四种取消选择:【对于多选采用】
deselect_by_index(index)
deselect_by_value(value)
deselect_by_visible_text(text)
deselect_all()

Select提供了三个属性方法:
option                    --提供所有的选项的列表,其中都是选项的Webelement元素
all_selected_options      --提供所有被选中的选项列表其中也均为选项的WebElement元素
first_selected_option     --提供第一被选中的选项,也是下拉的默认值


网页测试代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>处理下拉框</title>
</head>
<body>
<td align="center">下拉框demo</td>
    <br />
    <select id="selectdemo" class="select" name="selectdemo">
        <option name="jiaolian" value="210101" selected="selected">教练人员</option>
        <option name="pingpang" value="210102">乒乓球球员</option>
        <option name="lanqiu" value="210103 ">篮球运动员</option>
        <option name="zuqiu" value="210103  ">足球运动员</option>
        <option name="youyong" value="210402">游泳运动员</option>
        <option name="tiaoshui" value="210403">跳水运动员</option>
    </select>
</body>
</html>

Selenium代码
# -*- coding:utf-8 -*-
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome('F:\PyCharmProject\TestFramework\drivers\chromedriver.exe')
driver.get('file:///C:/Users/Uker/Desktop/seleniumHTML/menuitem.html')
sleep(1)

'''方式一、可以定位<select>标签的下拉菜单,也可定位非<select>标签下拉菜单'''
'''
1.先定位到下拉框的元素
2.选择下拉框列表中的元素
'''
# 定位到下拉选择框
sel = driver.find_element_by_id('selectdemo')
# 定位到篮球运动员
sel.find_element_by_xpath('//*[@id="selectdemo"]/option[3]').click()
sleep(1)

'''方式二、用Select定位(Select只对<select>标签的下拉菜单有效)'''
# 实例化一个Select类的对象
selector = Select(driver.find_element_by_id('selectdemo'))
# 下面三种方法选择游泳运动员
selector.select_by_index('4')
# selector.select_by_value('210402')
# selector.select_by_visible_text('游泳运动员')
sleep(1)

driver.quit()


猜你喜欢

转载自blog.csdn.net/lykio_881210/article/details/81016464
今日推荐