Я хочу получить список каждой марки и модели со следующего веб-сайта. Пока у меня следующее. Он дает мне правильную оценку, но не модель. Я думаю, проблема в том, что код неправильно выбирает марку модели, чтобы в раскрывающемся списке были варианты.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://www.nettiauto.com/")
wait = WebDriverWait(driver, 10)
merkki_dropdown = wait.until(EC.presence_of_element_located((By.XPATH, '//select[@name="make"]')))
select_merkki = Select(merkki_dropdown)
for merkki_option in select_merkki.options:
merkki_name = merkki_option.text.strip()
if merkki_name == "" or "Select" in merkki_name:
continue
select_merkki.select_by_visible_text(merkki_name)
model_dropdown = wait.until(EC.presence_of_element_located((By.XPATH, '//select[@name="model"]')))
model_options = model_dropdown.find_elements(By.TAG_NAME, "option")
model_list = [option.text.strip() for option in model_options if option.text.strip()]
print(f'Make: {merkki_name}')
for model in model_list:
print(f' Model: {model}')
driver.quit()
Подробнее здесь: https://stackoverflow.com/questions/790 ... pdown-menu