Не получается собрать ссылки с помощью селениума

Мне нужно спарсить сайт в котором нужно забрать наличие штатного автозапуска у автомобиля, но проблема в том что на сайте автомобили разбиты на марки, а марки на модели, и у меня не получается на сайте забрать модели автомобилей, написал код который собирает ссылки на марки переходит по ним, где мне нужно забрать ссылки на модели авто, и именно вторая задача и не получается, помогите пожалуйста!

Вот страница которую мне нужно спарсить:

https://can.starline.ru/40

Вот мой код:

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 шт):

Автор решения: Константин Николаевич Бояр II

Попробуйте вот такой вариант:

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
→ Ссылка