如何在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+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.