J'essaie de sélectionner un élément qui réside dans une iframe et peut résider dans d'autres iframes.
Est-il possible de sélectionner un élément dans une iframe (enfant) dans (python) Selenium sans sélectionner d'abord l'iframe ? Existe-t-il un moyen de "faire une boucle" dans chaque iframe et de vérifier où mon élément peut être trouvé... ?
Comment faire cela lorsque les éléments, le contenu html et l'iframe viennent peut-être d'être chargés... ?
Écrire votre propre chercheur récursif devrait être facile. Désolé, je ne connais pas Python, mais en Java, cela ressemblerait à ceci :
Non, impossible de passer le Sélénium, pas besoin de passer au
iframe
correspondant.Raison :
Lors du chargement d'une page, le focus de Selenium reste par défaut sur la fenêtre supérieure. La fenêtre supérieure contient d'autres
<iframes>
<iframes>
和框架集。因此,当我们需要与 iframe 内的 WebElement 进行交互时,我们必须通过以下方法之一切换到相应的<iframe>
et framesets. Ainsi, lorsque nous devons interagir avec unWebElement
à l'intérieur d'une iframe, nous devons passer au
<iframe>
correspondant via l'une des méthodes suivantes :
Méthode de changement de cadre :
Nous pouvons passer aux cadres de 3 manières.Par nom de monture
:Name Propriété de l'iframe grâce à laquelle on peut y basculer.
Exemple :L'attribut
IDdu iframe, grâce auquel nous pouvons y accéder.
Exemple :Index par image
:Supposons que la page comporte 10 cadres, nous pouvons passer à l'iframe via l'index.
Exemple :default_content()
或parent_frame()
Revenir à l'hôte :Nous pouvons utiliser
default_content()
ou
pour revenir au cadre principalparent_frame()
Exemple :
Meilleure façon de changer de cadre :expected_conditions
设置为frame_to_be_available_and_switch_to_it
来诱导WebDriverWait
surWebDriverWait
en définissantexpected_conditions
frame_to_be_available_and_switch_to_it
Via
Framework CSS:-
Référence🎜 🎜Vous pouvez trouver une discussion détaillée connexe sur : 🎜 🎜 🎜🎜Comment traiter un #document sous iframe🎜🎜 🎜