如何使用硒有选择地遍历下拉菜单

时间:2019-03-28 16:00:09

标签: python selenium iteration dropdown selected

在这种情况下,我想选择性地遍历下拉菜单,从2010年开始到今年(我希望此功能可以在以后运行时以开放方式结束)。

我以前只遇到过想要在下拉列表中选择一个或每个选择的问题。

Chrome_Path = r"C:\Users\George\Desktop\chromedriver.exe"

driver.get("http://www.snookerdatabase.co.uk")

driver.find_element_by_xpath("""//*[@id="Table1"]/tbody/tr[3]/td[1]/b/a[2]""").click()

driver.find_element_by_name("year").click()

2 个答案:

答案 0 :(得分:2)

使用选择从下拉列表中选择值。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome()


driver.get("http://www.snookerdatabase.co.uk")

wait=WebDriverWait(driver,5)
wait.until(expected_conditions.element_to_be_clickable((By.XPATH,'//*[@id="Table1"]/tbody/tr[3]/td[1]/b/a[2]'))).click()

i=2010
while i<2020:
 select = Select(driver.find_element_by_name("year"))
 select.select_by_value(str(i))
 i=i+1

答案 1 :(得分:0)

应该可以帮助您

from selenium.webdriver.support.ui import Select
select = Select(driver.find_element_by_name('name'))
select.select_by_index(index)
select.select_by_visible_text("text")
select.select_by_value(value)