有哪些可用的方法来使用python处理Selenium中页面中的静态下拉列表?

有多种方法可以处理Selenium页面中的静态下拉列表。静态下拉列表是网页的组成部分。这种类型的UI元素主要是为在页面上选择生日或年龄而开发的。

下拉列表并不是一个单独的元素。它是一组元素。例如,对于出生日期的选择,我们可以为日,月和年选择多个选项。因此,方法是首先获取主要元素,然后移至其子元素进行选择。

Selenium API提供了Select类,该类可与页面上的静态下拉列表一起使用。我们需要导入selenium.webdriver.support.select.Select来处理在html代码中具有select标签的静态下拉列表。

语法

Select(driver.find_element_by_tag_name("select"))

下面列出了Select类下的方法-

  • select_by_visible_text(args) -通过显示为选项的文本进行选择。

    此方法是最简单的方法,它基于可见的文本选择选项。如果没有选项与参数中给定的文本匹配,则抛出NoSuchElementException。

语法-

d = Select(driver.find_element_by_id("selection"))
d.select_by_visible_text('Nhooo')
  • select_by_index(args) -在选项索引的帮助下进行选择。

    此方法根据特定选项的索引选择选项。元素的索引大多以0开头。如果没有索引与参数中给定的索引匹配,则抛出NoSuchElementException。

语法-

d = Select(driver.find_element_by_id("selection"))
d.select_by_index(1)
  • select_by_value(args) -借助option的值进行选择。

    此方法根据特定选项的值选择选项。如果没有与参数中给定值匹配的值,则抛出NoSuchElementException。

语法-

d = Select(driver.find_element_by_id("selection"))
d.select_by_value('Selenium')
  • deselect_by_value(args) -借助option值取消选择。

    此方法根据特定选项的值取消选择该选项。如果没有与参数中给定值匹配的值,则抛出NoSuchElementException。

语法-

d = Select(driver.find_element_by_id("selection"))
d.deselect_by_value('Selenium')
  • deselect_by_index(args) -在选项索引的帮助下取消选择。

    此方法根据特定选项的索引取消选择该选项。元素的索引大多以0开头。如果没有索引与参数中给定的索引匹配,则抛出NoSuchElementException。

语法-

d = Select(driver.find_element_by_id("selection"))
d.deselect_by_index(1)
  • deselect_by_visible_text(args)  -借助option显示的文本取消选择。

    此方法是最简单的方法,它基于可见文本取消选择选项。如果没有选项与参数中给定的文本匹配,则抛出NoSuchElementException。

语法-

d = Select(driver.find_element_by_id("selection"))
d.deselect_by_visible_text('Nhooo')
  • deselect_all()  -取消所有选定选项的选择。

    此方法适用于可以完成多个选项选择的情况。它将从下拉列表中删除所有选择的选项。如果无法从下拉列表中选择多个选项,则抛出NotImplementedError。

语法-

d = Select(driver.find_element_by_id("selection"))
d.deselect_all()
  • all_selected_options() -所有选定选项的列表。

    此方法适用于可以完成多个选项选择的情况。它返回在select标记下选择的选项列表。

语法-

d = Select(driver.find_element_by_id("selection"))
o = d.all_selected_options()
  • first_selected_option()  -返回第一个选择的选项。

    此方法在下拉列表中返回当前选择的选项。它也适用于多个选择下拉菜单,它将返回下拉菜单中的第一个选定选项。

语法-

d = Select(driver.find_element_by_id("selection"))
o = d.first_selected_option()
  • options() -所有选项的列表。它返回select标记下所有选项的列表。

语法-

d = Select(driver.find_element_by_id("selection"))
o = d.options()
猜你喜欢