如何在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")
输出
广告