Je suis en train d'essayer un site Web de rebut, "www.jabong.com" ici pour chaque ligne de produits lorsque nous atteignons le bas de la page, il charge plus de produits. Je veux supprimer tous les liens. Le code que j'essaye est comme montré ci-dessous:python sélénium charger automatiquement plus de pages
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def fetch_links(url, product_line_name):
chrome_options = Options()
chrome_options.add_argument("--disable-notifications")
chrome_path = r"D:\chromedriver.exe"
driver = webdriver.Chrome(chrome_path, chrome_options=chrome_options)
driver.get(url)
button="load-more-products"
while True:
element=driver.find_element_by_class_name(button).click()
driver.execute_script("arguments[0].scrollIntoView();", element)
link_list=["https://www.jabong.com/women/clothing/trousers-jeans/trousers/?source=topnav_women"]
product_line=["trousers"]
fetch_links(link_list[0],product_line[0])
Le problème ici est incapable de localiser l'élément. J'ai aussi essayé avec class_name, css_selector mais aucun d'eux ne semble fonctionner. Je veux charger le produit en continu sur le navigateur automatiquement.
Ce n'est pas la bonne approche pour ce faire. Parce que lorsque vous faites défiler, il affichera de nouveaux produits et vous pourrez continuer ainsi, cela augmentera tellement les données sur la page que votre chrome et votre sélénium deviendront trop lents pour que vous soyez manipulés. Donc, trouver une façon de travailler avec Scrapy sur ce point et ne pas utiliser de sélénium –
Est-ce que l'élément est dans un cadre? Postez le code HTML. – IamBatman