Не получается собрать ссылки с помощью селениума
Мне нужно спарсить сайт в котором нужно забрать наличие штатного автозапуска у автомобиля, но проблема в том что на сайте автомобили разбиты на марки, а марки на модели, и у меня не получается на сайте забрать модели автомобилей, написал код который собирает ссылки на марки переходит по ним, где мне нужно забрать ссылки на модели авто, и именно вторая задача и не получается, помогите пожалуйста!
Вот страница которую мне нужно спарсить:
Вот мой код:
import datetime as DT
from typing import List, Tuple, Union
from pathlib import Path
import gspread
from oauth2client.service_account import ServiceAccountCredentials
# pip install pandas
import pandas as pd
# pip install selenium
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.common.exceptions import NoSuchElementException
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import time
from bs4 import BeautifulSoup
import lxml
import requests
def urls(url):
marks_hrefs = []
options = Options()
#options.add_argument('--headless')
driver = webdriver.Firefox(options=options)
driver.get(url)
time.sleep(1)
for item in driver.find_elements_by_css_selector('.brands-list .brands-list_item .ant-list-item-content'):
item_a_attr = item.find_element_by_tag_name('a')
item_link = item_a_attr.get_attribute('href')
print(item_link)
marks_hrefs.append(item_link)
for href in marks_hrefs:
time.sleep(3)
driver.get(href)
print(href)
for items in driver.find_elements_by_link_text('Все комплектации'):
items.get_attribute('href')
print(items)
#print(item_link)
driver.quit()
if __name__ == "__main__":
url = 'https://can.starline.ru/40'
urls(url=url)
После того как драйвер переходит по ссылке которую я забрал в первом цикле, он игнорирует все условия и просто прогружает эти самые ссылки
Конкретно мне нужно собрать ссылки из текста "Все комплектации"

Ответы (1 шт):
Попробуйте вот такой вариант:
def urls(url):
marks_hrefs = []
options = Options()
#options.add_argument('--headless')
driver = webdriver.Firefox(options=options)
driver.get(url)
time.sleep(2)
for item in driver.find_elements_by_css_selector('.brands-list .brands-list_item .ant-list-item-content'):
item_a_attr = item.find_element_by_tag_name('a')
item_link = item_a_attr.get_attribute('href')
print(item_link)
marks_hrefs.append(item_link)
#print(item_link)
driver.quit()
return marks_hrefs
def links(hrefs):
links = []
options = Options()
#options.add_argument('--headless')
driver = webdriver.Firefox(options=options)
driver.implicitly_wait(1.5)
for href in hrefs:
driver.get(url=href)
print(href)
for name in driver.find_elements_by_partial_link_text('Все комплектации'):
print(name.get_attribute('href'))
links.append(name)
return links
Вот часть из того что у меня получилось вывести:
https://can.starline.ru/40/22/7707
https://can.starline.ru/40/22/7352
https://can.starline.ru/40/22/9728
https://can.starline.ru/40/22/9482
https://can.starline.ru/40/22/8636
https://can.starline.ru/40/22/6832
https://can.starline.ru/40/22/6831
https://can.starline.ru/40/22/7354
https://can.starline.ru/40/22/8504
https://can.starline.ru/40/22/7353
https://can.starline.ru/40/22/6835
https://can.starline.ru/40/22/6834
https://can.starline.ru/40/22/6833
https://can.starline.ru/40/22/9651
https://can.starline.ru/40/22/8176
https://can.starline.ru/40/22/6837
https://can.starline.ru/40/22/6836
https://can.starline.ru/40/23
https://can.starline.ru/40/23/6838
https://can.starline.ru/40/23/9011
https://can.starline.ru/40/23/8779
https://can.starline.ru/40/23/9311
https://can.starline.ru/40/23/9726
https://can.starline.ru/40/23/8532
https://can.starline.ru/40/53
https://can.starline.ru/40/53/7121
https://can.starline.ru/40/53/7979
https://can.starline.ru/40/53/8154
https://can.starline.ru/40/65
https://can.starline.ru/40/65/7133
https://can.starline.ru/40/103
https://can.starline.ru/40/103/7906
https://can.starline.ru/40/103/9478
https://can.starline.ru/40/24
https://can.starline.ru/40/24/8226
https://can.starline.ru/40/24/6854
https://can.starline.ru/40/24/8562
https://can.starline.ru/40/24/6857
https://can.starline.ru/40/24/6856
https://can.starline.ru/40/24/6855
https://can.starline.ru/40/24/6859
https://can.starline.ru/40/24/6858
https://can.starline.ru/40/24/6860
https://can.starline.ru/40/24/7309
https://can.starline.ru/40/24/9117
https://can.starline.ru/40/24/7306
https://can.starline.ru/40/24/8088