Maison  >  Article  >  développement back-end  >  Comment extraire des informations sur le produit à partir d'éléments Shadow-Root à l'aide de Selenium Python ?

Comment extraire des informations sur le produit à partir d'éléments Shadow-Root à l'aide de Selenium Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 06:40:02339parcourir

How to Extract Product Information from Shadow-Root Elements Using Selenium Python?

Extraction d'informations à partir d'éléments Shadow-Root à l'aide de Selenium Python

Dans cet article, nous abordons la question de l'extraction d'informations sur les produits à partir du site Web https https://www.tiendasjumbo.co/buscar?q=mani. Ces éléments sont placés dans un élément #shadow-root (open), rendant les méthodes d'extraction conventionnelles inefficaces.

Comprendre la Shadow-Root

Shadow-root est une technique utilisé pour encapsuler les éléments DOM, en les cachant du document HTML principal. Pour accéder aux éléments d'une racine fantôme, des localisateurs de racine fantôme spécifiques doivent être utilisés.

Solution : Utilisation de ShadowRoot.querySelector()

Pour extraire l'étiquette du produit, nous mettons en œuvre la stratégie suivante :

  1. Accédez à la racine fantôme : Obtenez l'élément de recherche d'impulsion et accédez à sa racine fantôme.
  2. Utilisez shadowRoot.querySelector() : Naviguez dans la racine fantôme et localisez l'élément souhaité à l'aide du sélecteur. Dans ce cas, il s'agit de l'étiquette du produit.

Exemple de code :

<code class="python">from selenium import webdriver
from random import randint

driver = webdriver.Firefox(executable_path="C:\Program Files (x86)\geckodriver.exe")
time.sleep(4)

url = "https://www.tiendasjumbo.co/buscar?q=mani"
driver.maximize_window()
driver.get(url)

item = driver.execute_script("return document.querySelector('impulse-search').shadowRoot.querySelector('div.group-name-brand h1.impulse-title span.formatted-text')")
print(item.text)</code>

Ce code imprimera l'étiquette du produit pour l'URL fournie.

Remarques supplémentaires :

  • Pour Microsoft Edge et Google Chrome version 96, des techniques spécifiques sont requises pour gérer l'accès à la racine fantôme. Consultez les références fournies pour plus d'informations.
  • Des références ont été incluses pour des discussions détaillées et des exemples.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn