Maison >Java >javaDidacticiel >Comment interagir avec les éléments Shadow DOM « Clear Browsing Data » de Chrome à l'aide de Selenium ?

Comment interagir avec les éléments Shadow DOM « Clear Browsing Data » de Chrome à l'aide de Selenium ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-28 01:20:15439parcourir

How to Interact with Chrome's

Comment localiser des éléments dans Shadow DOM (#shadow-root) tout en effaçant les données de navigation du navigateur Chrome à l'aide de cssSelector

Lors de l'interaction avec Shadow Éléments DOM dans la fenêtre contextuelle "Effacer les données de navigation" de Chrome, il est essentiel de localiser d'abord l'élément #shadow-root. De nombreuses tentatives d'utilisation de Selenium ont rencontré des erreurs.

Solution :

Pour surmonter ces erreurs, suivez le code JavaScript ci-dessous pour localiser l'élément #shadow-root :

return document.querySelector('settings-ui').shadowRoot.querySelector('settings-main').shadowRoot.querySelector('settings-basic-page').shadowRoot.querySelector('settings-section > settings-privacy-page').shadowRoot.querySelector('settings-clear-browsing-data-dialog').shadowRoot.querySelector('#clearBrowsingDataDialog').querySelector('#clearBrowsingDataConfirm')

Explication :

  • Le sélénium ne prend en charge explicitement les interactions avec les éléments Shadow DOM.
  • Pour accéder aux éléments Shadow DOM, identifiez d'abord l'hôte Shadow.
  • Définissez une méthode, getShadowElement, pour obtenir la racine Shadow basée sur l'hôte Shadow.
  • Utilisez la méthode pour localiser l'élément dans l'arbre des ombres.
  • Le code fourni est un extrait de code JavaScript qui localise directement l'élément souhaité sans la nécessité de plusieurs traversées du Shadow DOM. La capture d'écran fournie dans le texte source de la réponse n'est pas incluse dans cette réponse en raison de limitations de démarques.

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