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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐