Maison >développement back-end >Tutoriel Python >Comment extraire des éléments Shadow DOM à l'aide de Selenium et Python ?

Comment extraire des éléments Shadow DOM à l'aide de Selenium et Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-19 06:42:30367parcourir

How to Extract Shadow DOM Elements Using Selenium and Python?

Extraction Shadow DOM à l'aide de Selenium Python

Dans l'URL de la boutique en ligne fournie, les informations sur le produit existent dans une racine #shadow (ouverte) élément. Pour accéder à ces données à l'aide de Selenium Python, nous devons utiliser la méthode shadowRoot.querySelector().

Solution :

Pour récupérer l'étiquette du produit, utilisez le code suivant :

<code class="python">driver.get('https://www.tiendasjumbo.co/buscar?q=mani')
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 script accède à l'URL spécifiée et exécute JavaScript pour accéder à l'élément dans le DOM fantôme.

Référence :

Référer aux discussions suivantes pour plus d'informations :

  • Impossible de localiser l'élément de connexion dans #shadow-root (open) à l'aide de Selenium et Python
  • Comment localiser le champ Prénom dans shadow-root (ouvert) sur le site Web https://www.virustotal.com en utilisant Selenium et Python

Remarque pour Microsoft Edge et Google Chrome version 96 :

Chrome v96 a modifié les valeurs de retour de la racine fantôme pour Selenium. Utilisez les ressources fournies pour obtenir des conseils sur cette version spécifique.

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