硒选择选项

2024-09-27 19:34:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多个选择选项:

<select id="auto_year" class="element" onchange="loadMakes(this.value);" name="auto_year">
 <option value="0000">- Year -</option>
 <option value="2014">2014</option>
 <option value="2013">2013</option>
 <option value="2012">2012</option>
 <option value="2011">2011</option>
</select>

<select id="auto_make" class="element" onchange="loadModels(document.getElementById('auto_year').value, this.value);;" name="auto_year">
 <option value="0000">- Make-</option>
</select>

最初,select id=“auto_make”内的选项为空。但当我从选择id=“auto_year”中选择一个选项时,该选项就会出现。我面临选择价值观的问题。我的代码是:

^{pr2}$

该代码的问题在于,它选择2014年进入2013年,而没有在2014年的id=auto\u make中寻找选项。任何帮助或建议都会很有帮助。在


Tags: 代码nameidautomakevalue选项element
2条回答

你试过实例化一个Select对象吗?下面是Python中Selenium站点的一个示例

# available since 2.12
from selenium.webdriver.support.ui import Select
select = Select(driver.find_element_by_tag_name("select"))
select.deselect_all()
select.select_by_visible_text("Edam")

两周前我还在为同样的问题而挣扎。我尝试了很多不同的选择,最后用了下面的方法。问题是click()或{}进行了选择,但未能设置值。唯一可能缺少的是向select对象发送一个键。在

从selenium.webdriver.common密钥导入

def select_option_from_a_dropdown(self, select_object, option_value):
    """
     To select options in "<select>" in selenium we need to select the option first and then need
    to send ENTER key on the select.
    """
    options = select_object.find_elements_by_tag_name("option")
    for option in options:
        self.log.info(option.text)
        if option.text.upper() == option_value.upper():
            option.click()
    select_object.send_keys(Keys.RETURN)

如果您正面临与我相同的问题,您只需要在yearoption.click()之后执行yearoption_val.send_keys(Keys.RETURN)。在

**英语不是我的母语。请根据需要编辑答案

相关问题 更多 >

    热门问题