首页 > 解决方案 > 如何使用 Selenium 和 Python 验证选项是否被选中

问题描述

我有一个带有多个选项的 Select 标签(如下图所示)。我想编写一个 selenium 测试,在其中验证是否选择了具有 18 值的选项。

我已经尝试过了,但它不起作用:

`age_min = self.browser.find_element_by_css_selector('select#age-min > option[value="18"]')
 age_min_selected = is_attribtue_present(age_min, 'selected')
 self.assertTrue(age_min_selected)`

我收到此错误:NameError: name 'is_attribtue_present' is not defined

我也试过这个:

`age_min = self.browser.find_element_by_css_selector('select#age-min > option[value="18"]["selected"]')`

错误:Message: invalid selector: An invalid or illegal selector was specified

在此处输入图像描述

标签: pythonselenium

解决方案


您可以像这样检查“选定”属性option

options = driver.find_elements_by_xpath("//option")

for option in options:
    is_selected = option.is_selected()
    print(str(is_selected))

基于此文档:

https://selenium.dev/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webelement.html?highlight=is_selected#selenium.webdriver.remote.webelement.WebElement.is_selected


推荐阅读