почему я не могу очистить данные с помощью find_elements, когда я могу видеть в источнике

#selenium #web-scraping

Вопрос:

Я пытаюсь очистить коммерческий веб-сайт, чтобы получить данные из определенной категории, такой как мужчины, женщины и т. Д. Я могу перейти к внутреннему элементу, но не царапаться.

Я пробовал использовать селен, может ли кто-нибудь помочь мне понять, где я ошибаюсь?

Код, который я использовал, находится здесь:

 from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import pandas as pd
import urllib.request
import os

def wait_till_load(driver,class_name,by_elem):
    try:
        WebDriverWait(driver, 60).until(EC.presence_of_element_located((by_elem, class_name)))
    except TimeoutException:
        print("Time Out Exception")
        # df.to_excel(name   '/'   name   '.xlsx')
        exit()

df = pd.DataFrame(columns=['S.no','Category','BrandName','ItemTitle','Color','Size','Price','ImageUrl'])

search_item = int(input("1.MEN'S WEAR n2.WOMEN'S WEARS n3.THINGS AND THINGS nEnter the category you want to search : "))
limit = int(input('Enter the maximum no.of records : '))
name = ''

# if search_item==1:
#     os.mkdir('MENS_WEAR')
#     name = 'MENS_WEAR'
# elif search_item == 2:
#     os.mkdir('WOMENS_WEAR')
#     name = 'WOMENS_WEAR'
# elif search_item == 3:
#     os.mkdir('THINGS')
#     name = 'THINGS'

url="https://www.ssense.com/ja-jp"

# language conversion in chrome

myoptions = webdriver.ChromeOptions()
prefs = {
  "translate_whitelists": {"ja":"en"},
  "translate":{"enabled":"true"}
}
myoptions.add_experimental_option("prefs", prefs)
driver=webdriver.Chrome(ChromeDriverManager().install(),options=myoptions)

driver.get(url)
if search_item==1:
    try:
        element= WebDriverWait(driver,10).until(
            EC.presence_of_element_located((By.LINK_TEXT,"MENSWEAR"))
        )
        element.click()
    except:
        driver.quit()
    # link =driver.find_element_by_link_text("MENSWEAR")
    # link.click()
elif search_item == 2:
    link = driver.find_element_by_link_text("WOMEN'S WEAR")
    link.click()
elif search_item == 3:
    link = driver.find_element_by_link_text("THINGS AND THINGS")
    link.click()


try:
    element= WebDriverWait(driver,10).until(
        EC.presence_of_element_located((By.CLASS_NAME,"plp-products__row"))
    )
    items = driver.find_elements_by_class_name('plp-products__column')
    itemsinpage=len(items)
    print(itemsinpage)
    items[0].find_element_by_class_name('plp-products__product-tile').click()
    WebDriverWait(driver,10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, "s-column.pdp-header"))
    )
  
    WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CLASS_NAME, "s-row"))
    )
  
    brand = driver.find_element_by_class_name('s-row'). 
        find_element_by_css_selector('pdp-product-title__brand.s-text.s-text--uppercase'). 
        find_element_by_css_selector('a'). 
        find_element_by_css_selector('font'). 
        find_element_by_css_selector('font').text
    # details['BrandName'] = brand
    print(brand)

except:
    driver.quit()
 

Я могу видеть класс в исходном коде, но когда я пытаюсь использовать метод find_element, он возвращает пустой список в качестве ответа. Пожалуйста, объясните мою ошибку.