如何从python中的下拉列表中选择一个值

时间:2016-02-07 13:23:25

标签: python python-2.7 selenium

我已经尝试了很多它似乎无法运行的东西所以我发布这个问题,希望能从python的下拉菜单中学习选择的简单方法。

我设法打开下拉菜单但是如何从下拉列表中选择一个值(在本例中让我们说4)?

以下是打开下拉列表的代码:

#select adults
adults = driver.find_element_by_xpath("//*[@id='adults-number']").click()

下面是html,其中包含下拉列表中的所有选项(突出显示的是我想要选择的值):

enter image description here

1 个答案:

答案 0 :(得分:2)

使用Select class及其.select_by_visible_text()方法:

from selenium.webdriver.support.select import Select

adults = Select(driver.find_element_by_id("adults-number"))
adults.select_by_visible_text("4")

请注意,我还使用更简单,更高效的“by id”定位器类型替换了“by xpath”。

工作代码(使用您的目标网站)选择成人= 4:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Chrome()
driver.get("http://jet2.com")

wait = WebDriverWait(driver, 10)
adults_element = wait.until(EC.presence_of_element_located((By.ID, "adults-number")))

select = Select(adults_element)
select.select_by_visible_text("4")