如何使用Python使用Selenium选择下拉菜单值?

发布于 2021-02-02 23:15:48

我需要从下拉菜单中选择一个元素。

例如:

<select id="fruits01" class="select" name="fruits">
  <option value="0">Choose your fruits:</option>
  <option value="1">Banana</option>
  <option value="2">Mango</option>
</select>

1)首先,我必须单击它。我这样做:

inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click()

2)之后,我必须选择一个好的元素,让我们说Mango。

我试图这样做,inputElementFruits.send_keys(...)但是没有用。

关注者
0
被浏览
118
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    除非你的点击触发了某种Ajax调用来填充列表,否则你实际上不需要执行该点击。

    只需找到元素,然后枚举选项,然后选择所需的选项即可。

    这是一个例子:

    from selenium import webdriver
    b = webdriver.Firefox()
    b.find_element_by_xpath("//select[@name='element_name']/option[text()='option_text']").click()
    


  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    Selenium提供了一个方便的Select类来使用select -> option构造:

    from selenium import webdriver
    from selenium.webdriver.support.ui import Select
    
    driver = webdriver.Firefox()
    driver.get('url')
    
    select = Select(driver.find_element_by_id('fruits01'))
    
    # select by visible text
    select.select_by_visible_text('Banana')
    
    # select by value 
    select.select_by_value('1')
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看