Первое: мне пришлось добавить
from bs4 import BeautifulSoup
Второе: мне пришлось изменить отступы
Третье: мне пришлось добавить time.sleep (2) перед тем, как получить страницу со ссылками
И наконец: я нажимаю <Back
на go назад
И там отображаются ссылки на руководства.
Кстати: иногда страница показывает всплывающее окно при запуске, но я этого не делал попробуйте решить эту проблему
Кстати: мне пришлось проверить
if yearText != 'Year' and modelText != 'Model':
, чтобы пропустить щелчки для этих значений.
url = "https://www.ford.co.uk/owner/my-vehicle/download-your-manual"
from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time
from bs4 import BeautifulSoup
driver = webdriver.Chrome() #'C:/Users/chromedriver.exe')
driver.get(url)
time.sleep(4)
selectYear = Select(driver.find_element_by_id("odl-selected-year"))
data = []
for yearOption in selectYear.options:
yearText = yearOption.text
selectYear.select_by_visible_text(yearText)
time.sleep(1)
selectModel = Select(driver.find_element_by_id("odl-selected-model"))
for modelOption in selectModel.options:
modelText = modelOption.text
selectModel.select_by_visible_text(modelText)
if yearText != 'Year' and modelText != 'Model':
data.append([yearText, modelText])
#print(data)
button = driver.find_element_by_link_text("Select this vehicle")
button.click()
time.sleep(2)
page = driver.page_source
soup = BeautifulSoup(page, 'html.parser')
content = soup.findAll('a', attrs={"class": "odl-download-link"})
links =[]
for i in content:
links.append(i["href"])
print(links)
# go back
driver.find_element_by_class_name('odl-back-link').click()