如何在Selenium中选择静态下拉菜单中的选项?


我们可以使用Selenium webdriver在静态下拉菜单中选择选项。Selenium借助Select类可以处理静态下拉菜单。下拉菜单用select标签名标识,其选项用option标签名表示。“from selenium.webdriver.support.select import Select”语句应该被添加到代码中才能使用Select类。

Select类下的方法如下所示:

  • select_by_visible_text (arg) – 选择所有显示文本与参数匹配的选项。

语法:

sel = Select (driver.find_element_by_id ("name"))
sel.select_by_visible_text ('Visible Text')
  • select_by_value (arg) – 选择所有值与参数匹配的选项。

语法:

sel = Select (driver.find_element_by_id ("name"))
sel.select_by_value ('Value')
  • select_by_index (arg) – 选择与参数匹配的选项。索引从零开始。

语法:

sel = Select (driver.find_element_by_id ("name"))
sel.select_by_index (1)
  • deselect_by_visible_text (arg) – 取消选择所有显示文本与参数匹配的选项。

语法:

sel = Select (driver.find_element_by_id ("name"))
sel.deselect_by_visible_text ('Visible Text')
  • deselect_by_value (arg) – 取消选择所有值与参数匹配的选项。

语法:

sel = Select (driver.find_element_by_id ("name"))
sel.deselect_by_value ('Value')
  • deselect_by_index(arg) – 取消选择与参数匹配的选项。索引从零开始。

语法:

sel = Select(driver.find_element_by_id ("name"))
sel.deselect_by_index(1)
  • all_selected_options – 返回下拉菜单中所有已选择的选项。
  • first_selected_option - 返回多选下拉菜单中第一个选定的选项,或普通下拉菜单中当前选定的选项。
  • options - 返回select标签名下所有可用的选项。
  • deselect_all - 清除多选下拉菜单中所有选定的选项。

示例

代码实现

from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#implicit wait time
driver.implicitly_wait(5)
#url launch
driver.get("https://the-internet.herokuapp.com/dropdown")
#object of Select
s= Select(driver.find_element_by_id("dropdown"))
#select option by value
s.select_by_value("1")

输出

更新于:2021年11月19日

3000+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告