我需要从下拉菜单中选择一个元素。
例如:
<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(...)但是没有用。
inputElementFruits.send_keys(...)
除非你的点击触发了某种Ajax调用来填充列表,否则你实际上不需要执行该点击。
只需找到元素,然后枚举选项,然后选择所需的选项即可。
这是一个例子:
from selenium import webdriver b = webdriver.Firefox() b.find_element_by_xpath("//select[@name='element_name']/option[text()='option_text']").click()
Selenium提供了一个方便的Select类来使用select -> option构造:
Selenium
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')