J'ai une application dans laquelle l'utilisateur clique sur un bouton, ce qui déclenche un iFrame à ouvrir. J'ai vraiment du mal à attendre que ce cadre ouvre une charge avant de continuer.Attendre un iframe pour ouvrir et charger avec Selenium
Je ne peux pas utiliser:
wait_for_page_to_load
parce que ce n'est pas la page qui se charge, il est le iframe.
Je ne peux pas utiliser:
select_frame
parce que le cadre n'a pas encore chargé
donc je suis parti avec le toujours si laid
sleep(3)
avant de pouvoir sélectionner le cadre et affirmer quelque chose à ce sujet.
Des suggestions sur la façon de le faire correctement? Je ne veux pas utiliser JS spécifique à la librairie car je suis en train d'extraire un Selenium DSL pour une utilisation sur plusieurs projets. De plus, j'utilise du sélénium-client pour que tout ce qui est ruby soit un plus.
Cheers,
Ad.
modifier: Je ne peux pas sembler utiliser:
wait_for_frame_to_load
soit, il arrive à expiration.
Fella, a oublié que l'on regrette - essayé aussi. Je peux l'utiliser une fois que le cadre est chargé et que je l'ai sélectionné, mais il expire juste si je l'attends après avoir cliqué sur le bouton qui le déclenche. Merci, merci. – Rodreegez
Je pensais que cela pourrait être le cas. IFrames ont tendance à être sandboxed parce qu'ils sont considérés comme des risques de sécurité par les navigateurs – AutomatedTester
arrrgh! J'ai travaillé dessus - j'utilisais l'identifiant de l'image (c'est-à-dire #iframe) plutôt que le nom de l'image (iframe). J'ai maintenant ce travail en * chrome. Je sélectionne le cadre, puis j'attends qu'il charge, puis j'affirme quelque chose à ce propos. Je sélectionne ensuite frame ("parent = parent") pour sortir du cadre. À votre santé! – Rodreegez