2015-07-14 1 views
0

Je dois cliquer sur "OK" dans un pop-up pour me connecter à costar.com.Est-il possible de cliquer sur "OK" sur un cadre pop-up invisible en sélénium? python

Lorsque le cadre apparaît, il gèle le reste de la fenêtre et ne me permet pas de regarder les outils de développement pour voir les éléments. Après avoir regardé le code source, j'ai trouvé qu'il s'agit d'un cadre invisible.

Si vous voulez voir par vous-même: -Aller à costar.com connexion -cliquez bouton de connexion -cliquez

Vous verrez le type de trame invisible dont je parle. À l'aide de chrome pour rechercher le code source, vous pouvez trouver les informations de trame invisible à la recherche de «invisible» ou «certificat».

Est-il possible d'interagir avec cette trame?

Nous vous remercions de votre aide.

+0

je suppose que vous n eed http://stackoverflow.com/questions/18366689/how-to-select-a-frame-using-selenium – comalex3

+0

Je ne vois aucun popup. Vous parlez de l'alerte quand aucune information d'identification n'a été donnée. – Madhan

+0

@Madhan oui cette alerte. C'est le même style d'alerte qui apparaît lorsque je branche les informations d'identification correctes, sauf que cela me donne l'option de cliquer sur "OK". –

Répondre

0

Ce que vous obtenez est alert

Vous devez passer à l'alerte et l'accepter

alert = driver.switch_to_alert() 
alert.accept() 
+0

J'ai essayé, mais rien ne s'est passé. L'alerte est invisible, donc je n'arrive pas à comprendre comment y accéder. (Le sélénium ne peut pas voir que c'est là) –

0

Essayez aussi:

driver.switch_to_frame("frame") 

ou quelque chose comme ça

driver.switch_to_window(driver.window_handles[-1]) 
+0

Pour une raison quelconque, rien ne semble fonctionner. Il semble que le sélénium ne puisse pas détecter qu'il y a un arrêt partiel dans l'ajax avant d'ouvrir la nouvelle page. L'alerte fait geler toute la trame, ce qui m'empêche de pouvoir inspecter les éléments. Il expire également lors de la recherche de cadres ou de fenêtres. –

+0

On dirait que leur web bloque les techniques de webdriver «à dessein». Selon vos besoins, il peut y avoir une meilleure approche, par ex. jmeter, travaillant sur la couche http (transfert). – mmichalik