通过名称选择获取下拉菜单选项值



我是python的新手,我正在尝试了解如何单击下拉菜单,即使名称在整个代码中多次显示,我也可以通过名称而不是值选择它,因为每件衬衫都有不同的值,夹克可以有14123,衬衫有14133作为值。

这是我的代码:

browser = webdriver.Chrome()
Size=browser.find_element_by_xpath("//select[@name='X-Large']/option[@value='12218866729085']").click()

一件衬衫的 HTML 代码 EX:

select id="product-select" name="id" class="">
option value="12218866630781">Small</option>
option value="12218866663549">Medium</option>
option value="12218866696317">Large</option>
option value="12218866729085">X-Large</option>

给出此错误:

("//select[@name='X-Large']/option[@value ='12218866729085']").click() 属性错误:"str"对象没有属性"单击"

它是一个

选择下拉列表,因此您需要使用 select 命令从下拉列表中选择值。 例如在Java中

  Select dropdown = new Select(driver.findElement(By.id("product-select")));
  dropdown.selectByVisibleText("Medium"); //to select medium

我们可以使用索引或值代替可见文本,例如

 dropdown.selectByIndex(1); //second option in dropdown as count starts from 0 in java

 dropdown.selectByValue("12218866663549"); //using value attribute

你可以使用这个 xpath -//select/option[text()='Medium']

最新更新