如何使用硒有选择地遍历下拉菜单
How to selectively iterate through a dropdown menu with selenium
在这种情况下,我想从 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()
使用 Select 到 select 下拉列表中的值。
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
这应该对你有帮助:
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)
在这种情况下,我想从 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()
使用 Select 到 select 下拉列表中的值。
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
这应该对你有帮助:
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)