web-dev-qa-db-fra.com

Sélénium et iframe au format HTML

Impossible d'utiliser send_key () pour une iframe. Comment sélectionner cette iframe et quel élément doit être utilisé pour send_key ()?

page image

et iframe code html

<iframe class="textarea" src="/framework/html/blank.html" style="width: 99%; border-width: 1px; height: 332px;">
#document
<html webdriver="true">
<head>
</head>
<body> … </body>
</html>
</iframe>

Comment envoyer la valeur à la description?

Une dernière chose que je veux savoir, c'est que ce code de cadre ne vient pas quand je vais pour "voir la source de la page" dans le navigateur?

21
RATHI

Afin de gérer les iframes sur une page Web, vous devez d'abord basculer sur les iframes présents sur la page à l'aide de cette commande: Driver.switch_to.frame (frame_id)

Ce didacticiel présente un exemple pratique de manipulation d’iframe avec Selenium avec python , ce qui vous permettra de résoudre ce problème.

1
Furqan Ud Din

La réponse acceptée fonctionne très bien pour la question donnée. Cependant, j’ai deux raisons d’ajouter une réponse et j’espère que cette réponse aidera une personne à poser cette question avec une question différente.

Raison 1:

La réponse acceptée a un moyen de gérer les iframes dans une page Web. Cependant, il existe différentes manières de gérer les iframes.

  • En utilisant la position d'index du cadre
  • En utilisant le nom du cadre
  • En utilisant l'id du cadre

Raison 2:

Il utilise l'instruction driver.find_element_by_tag_name ("iframe") pour rechercher l'élément iframe susceptible de ne pas fonctionner ou de renvoyer l'élément Web iframe attendu lorsqu'il existe plusieurs éléments iframe dans la même page.

Il existe de nombreux articles pour expliquer le traitement des iframes en détail.

  1. http://allselenium.info/handling-iframes-using-Selenium-webdriver/
1
Arun211