python自动化测试selenium操作下拉列表实现

处理下拉列表需要使用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%无套路免费领取】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值