这是我要使用的页面的HTML。在页面中,我要遍历如下所示的下拉菜单:
<ul class="col-24 position-absolute station-filter mobile-region s-padd-0-10">
<li class=class="flex flex-wrap flex-display-block col-24 bg-white radius-5 overflow-scroll-y station-filter-inside">
<span class="col-24 display-block padd-15-0 brd-bottom-1 station-select-region">Antofagasta</span>
<span class="col-24 display-block padd-15-0 brd-bottom-1 station-select-region">Atacama</span>
<span class="col-24 display-block padd-15-0 brd-bottom-1 station-select-region">Arica y parinacota</span>
<span class="col-24 display-block padd-15-0 brd-bottom-1 station-select-region">Tarapaca</span>
<span class="col-24 display-block padd-15-0 brd-bottom-1 station-select-region">Biobio</span>
因此,我想做的是每个跨度选项分别为click()
。
这就是我现在拥有的:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome(r"C:\Users\juanc\OneDrive\Escritorio\chromedriver.exe")
driver.get("https://ww2.copec.cl/stations?check=punto")
driver.find_element_by_xpath("//*[@id='root']/div[1]/div/ul/li[1]/a").click()
result = driver.find_element_by_xpath('//*[@id="root"]/div[1]/div/ul/li[1]/ul/li')
options = result.find_element(By.CLASS_NAME("col-24 display-block padd-15-0 brd-bottom-1 station-select-region"))
for option in options:
print(option.text)
答案 0 :(得分:0)
尝试此代码。希望对您有所帮助。
from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\juanc\OneDrive\Escritorio\chromedriver.exe")
driver.get("https://ww2.copec.cl/stations?check=punto")
driver.find_element_by_xpath("//*[@id='root']/div[1]/div/ul/li[1]/a").click()
results = driver.find_elements_by_css_selector('span.station-select-region')
for rs in results:
print(rs.text)
输出:
Antofagasta
Atacama
Arica y parinacota
Tarapacá
Biobio
La araucanía
Maule
Los lagos
Los rios
Magallanes
Aysén
Valparaíso
Metropolitana
Coquimbo
O higgins