如何使用selenium和python获取下拉菜单中所选选项的value属性?

w7t8yxp5  于 2023-02-19  发布在  Python
关注(0)|答案(2)|浏览(330)

我有一个selenium代码(使用python),它使用selenium中“Select”包的select_by_value方法在下拉列表中选择一个值。

如图所示,我在代码中输入了值1,它选择了“Poste”,这是与值1关联的文本。
我的问题是,是否有一种方法可以获取在选择过程之后选择的值。
我知道,使用first_selected_option方法,我可以使用以下命令获取所选选项的文本:

  1. selected_value = options_com.first_selected_option
  2. sv = selected_value.text
  3. print(sv)

那么,是否有办法返回选定的值,在本例中是value = "1",而不是文本。

ax6ht2ek

ax6ht2ek1#

可以使用常规的get_attribute()函数

  1. select = Select(driver.find_element(By.CSS_SELECTOR, "yout_selector"))
  2. select.select_by_visible_text("visible_text")
  3. selected_option = select.first_selected_option
  4. option_value = selected_option.get_attribute("value")
  5. print("Value of selected option is:" + option_value )

first_selected_option属性将项目转换为Webelement。因此,您可以使用常规Webelement函数来执行任何您想要的操作。

ruyhziif

ruyhziif2#

first_selected_option属性返回此select标记中的第一个选定选项(或普通select中的当前选定选项)。
溶液
要打印所选选项的 value 属性的值,可使用 get_attribute() 方法,如下所示:

  1. select = Select(driver.find_element(By.XPATH, "//select[@id='client.select.communication']))
  2. select.select_by_value("1")
  3. print(select.first_selected_option.get_attribute("value")) # prints -> 1

注意:您必须添加以下导入:

  1. from selenium.webdriver.common.by import By

相关问题