confirmer la fenêtre d'alerte en phantom.js
j'ai cette fonction qui a trouver le bouton et cliquez sur elle, mais après que l'alerte s'affiche et j'ai besoin de le confirmer à l'aide de phantom.js
function() {
page.evaluate(function() {
$('.item-list clicked').first().find($('.comment-delete')).find('a').click();
})
}
peut-être que je peux imiter une fonction d'alerte d'appel sans cliquez immédiatement ? ou utiliser la fonction waitFor pour l'attente, cette alerte?(peu probable que ce, waitFor d'attente seulement pour les objets DOM je pense que oui)
OriginalL'auteur Alice Polansky | 2013-11-11
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, Phantom.JS est décapité.
La seule chose que vous pouvez faire est d'obtenir le contexte de l'alerte avec
mais pas plus je pense.
Vous ne pouvez pas fermer (en général) ou de rendu (en Phantom.JS) l'alerte par programmation.
Certaines sources:
* Rendre les alertes JavaScript avec Phantom.JS
* Près d'alerte par programmation
Vous pouvez utiliser Zombie.js (voir ici ). Jetez un oeil aussi à SlimerJS: elle pourrait avoir
window.alert
...OriginalL'auteur MarcoL
Je ne peux pas trouver les autres stackoverflow réponse qui m'a aidé à répondre, mais, fondamentalement, vous pouvez injecter une fonction javascript qui va confirmer l'alerte popup:
Voici mon python webdriver mise en œuvre:
C'est quelqu'un de la todo list =) :
Le sélénium Souhaité les Capacités de l'ensemble handlesAlerts pour PhantomJS pilote
OriginalL'auteur foupfeiffer
"Confirmer une alerte" est une source de confusion phrase, parce que Javascript fournit à la fois
alert
(qui affiche un message avec un bouton OK) etconfirm
(qui montre les boutons OK et Annuler), et il n'est pas clair lequel vous voulez dire.Au moins PhantomJS 2.x se comporte comme si il clique sur OK sur
alert
boîtes et Annuler surconfirm
boîtes.Si vous voulez cliquez sur OK, au lieu de l'Annuler sur
confirm
boîtes, vous pouvez l'appelerexecute_javascript
pour remplacerwindow.confirm
de retourtrue
tant que vous n'êtes pas inquiet au sujet deconfirm
boîtes de pop-up pendant le processus de chargement qui sera traitée avant votreexecute_javascript
a une chance d'intervenir. Si vous voulez attraper ceux aussi bien, la meilleure chose que je peux penser à est de patch PhantomJS source ou injecter de la JS via un proxy en amont.OriginalL'auteur Silas S. Brown
À l'aide de splinter en Python que vous souhaitez ajouter ces lignes (à partir de la docs).
OriginalL'auteur Chornsby
Je n'ai que:
OriginalL'auteur Adrien Joly