
处理下拉列表需要使用selenium中的工具类Select,常用方法如下:

示例网站:Sahi Tests
示例场景:打开Sahi Tests页面,
(1)点击“Select Test”页面,鼠标点击页面中第一个下拉列表。

示例脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import Select
class TestSelected( object ):
def setup( self ):
self .driver = webdriver.Chrome()
self .driver.get( "https://sahitest.com/demo/" )
def test_selected( self ):
#点“Select Test”链接
self .driver.find_element_by_xpath( "/html/body/table/tbody/tr/td[1]/a[4]" ).click()
#点第一个下拉框
se = self .driver.find_element_by_id( "s1Id" )
#选中下拉框选项
select = Select(se)
#循环打印下拉框选项
for options in select.options:
print (options.text)
|
运行结果:

(2)操作多选列表
示例脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import Select
class TestSelected( object ):
def setup( self ):
self .driver = webdriver.Chrome()
self .driver.get( "https://sahitest.com/demo/" )
def test_multiselected( self ):
#点“Select Test”链接
self .driver.find_element_by_xpath( "/html/body/table/tbody/tr/td[1]/a[4]" ).click()
#列表多选框
mulsel = self .driver.find_element_by_id( "s4Id" )
select2 = Select(mulsel)
#选择列表中所有选项
for i in range ( 6 ):
select2.select_by_index(i)
#根据索引值反选
# select2.deselect_by_index(i)
sleep( 1 )
sleep( 2 )
#反选所有
select2.deselect_all()
self .driver.quit()
|
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】


所有评论(0)