如何取消静态下拉菜单中的选项选择?


我们可以使用Select类中的方法取消静态下拉菜单中的选项选择。

取消选择的方法如下:

  • deselect_by_value(args) − 通过选项的值取消选择。

    此方法根据特定选项的值取消选择。如果找不到与参数中给定值匹配的值,则会抛出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) − 通过选项显示的文本取消选择。

    此方法是最简单的方法,它根据可见文本取消选择选项。如果找不到与参数中给定文本匹配的选项,则会抛出NoSuchElementException异常。

语法

d = Select(driver.find_element_by_id("selection"))
d.deselect_by_visible_text('Tutorialspoint')
  • deselect_all()  − 取消所有已选选项的选择。

    此方法适用于可以选择多个选项的情况。它会删除下拉菜单中所有选定的选项。如果无法从下拉菜单中选择多个选项,则会抛出NotImplementedError异常。

语法

d = Select(driver.find_element_by_id("selection"))
d.deselect_all()

示例

下拉菜单中选项取消选择的代码实现。

from selenium import webdriver
from selenium.webdriver.support.select import Select
#browser exposes an executable file
#Through Selenium test we will invoke the executable file which will then #invoke actual browser
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://tutorialspoint.com/tutor_connect/index.php")
#to refresh the browser
driver.refresh()
#select class provide the methods to handle the options in dropdown
d = Select(driver.find_element_by_xpath("//select[@name='seltype']"))
#select an option with visible text method
d.select_by_visible_text("By Name")
#deselect the option with visible text method
d.deselect_by_visible_text("By Name")
#select an option with index method
d.select_by_index(0)
#deselect an option with index method
d.deselect_by_index(0)
#select an option with value method
d.select_by_value("name")
#deselect an option with value method
d.deselect_by_value("name")
#to close the browser
driver.close()

更新于:2020年7月29日

2K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告