При парсинге не находит строку в спане
Учусь париснгу, пытаюсь найти товары со скидкой и вывести ссылку на товар + скидку. Мой код:
from selenium import webdriver
from bs4 import *
from requests import get
import time
def main():
# список скидок в том формате в котором они содержатся в спанах
discounts = [(f'-{i}%') for i in range(20, 100)]
print()
driver = webdriver.Chrome() # Убедитесь, что у вас установлен ChromeDriver
# Открываем страницу
url = 'https://www.ozon.ru/category/perchatki-i-varezhki-muzhskie-17104/?category_was_predicted=true&deny_category_prediction=true&from_global=true&is_high_rating=t&text=перчатки+зимние+мужские'
driver.get(url)
# Даем время на загрузку страницы
time.sleep(20) # Пауза для полной загрузки контента
# Получаем HTML-код страницы
html_code = driver.page_source
soup = BeautifulSoup(html_code, 'html.parser')
# Теперь можно искать нужный div
main_div = soup.find('div', class_='j7z_23')
# Проверяем, найден ли div
if main_div:
print('Found main div')
# Ищем все div с нужными атрибутами внутри найденного div
tile_divs = main_div.find_all('div', {'data-index': True, 'class': 'rj8_23 rj9_23 tile-root'})
if tile_divs:
print('found divs...')
# Проходим по каждому найденному div
for tile_div in tile_divs:
# Находим span с нужным классом
span = tile_div.find('span', class_='tsBodyControl400Small c3019-a6 c3019-b4')
#print(span)
for s in discounts:
# print(span.index(s))
if s in span:
# Находим ссылку внутри текущего div
link = tile_div.find('a', class_='jt1_23 tile-hover-target t1j_23')
if link:
# Выводим ссылку и текст в кавычках
print(link['href'], s)
else:
print("Div не найден.")
if __name__ == '__main__':
main()
Он ничего не находит и не выводит, хотя всё должно работать. Я пробовал отлаживать, выводить спаны и т. д., всё так как надо, но при этом он не считает что s входит хоть в какой-то span. Подскажите в чём ошибка