Ich habe Probleme bei der Auswahl aus einer Dropdown-Liste (zwei tatsächlich, Saison und Datum). Ich kann die Werte abrufen, die ich in den Dropdown-Selektor eingeben möchte, kann jedoch nicht verstehen, was ich tun muss, um programmgesteuert aus dem Dropdown-Menü auswählen zu können.PYTHON Selenium: Klicken Sie auf ein bestimmtes Dropdown mit Java
Dies ist die Website, die von Interesse ist: https://dataride.uci.ch/iframe/RankingDetails/1?disciplineId=10&groupId=1&momentId=19264&disciplineSeasonId=19&rankingTypeId=1&categoryId=22&raceTypeId=0
Hier ist der Basis-Code, den ich verwende: (sehr traurig über die Formatierung, Ärger mit langen Strings hatten.)
`import requests
from selenium import webdriver
from time import sleep
from bs4 import BeautifulSoup
url='https://dataride.uci.ch/iframe/RankingDetails/1?disciplineId=10&groupId=1&momentId=19264&disciplineSeasonId=19&rankingTypeId=1&categoryId=22&raceTypeId=0' browser=webdriver.Chrome(executable_path='F:\Anaconda\chromedriver\chromedriver_win32\chromedriver.exe')
browser.get(url) season_list=browser.find_element_by_id('seasons_listbox').get_attribute('textContent')dates_list=browser.find_element_by_id('dates_listbox').get_attribute('textContent').split('Ranking')[1]
for i in range(0,len(season_list),4):
year=season_list[i:i+4]
for j in range(0,len(dates_list),10):
date=dates_list[j:j+10]
print('YEAR: ',season_list[i:i+4],' DATE ',dates_list[j:j+10])`
Hier ist ein Screenshot der zwei Menüs, die ich gerne durchlaufen könnte:
Arbeitete wie ein Zauber, ich schätze die Hilfe mit diesem! ... Ich würde davon ausgehen, dass, wenn ich durch alle Seiten (sie melden nur 1-50 Fahrer pro Seite) würde ich nur bewerben müssen die gleiche Methode wie du getan hast? – Kyle
senden Sie einfach verschiedene Werte mit 'send_keys' – ksai