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 :
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 :
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!