Ich benutze Python 2.7, Selenium und PhantomJs.Akzeptieren Sie ein Popup mit Phantomjs mit Selen
Wenn ich auf die Anmeldeschaltfläche in meinem Skript klicke, geht es auf eine neue Seite und ein Popup erscheint, das ich akzeptieren muss.
Hier ist der Code, den ich versuche zu verwenden. Ich habe es von hier How can I handle an alert with GhostDriver via Python?
sign_in.click()
js = 'window.alert = function(message) { lastAlert = message; }'
driver.execute_script("%s" % js)
driver.execute_script("return lastAlert")
Hier ist der Fehler, die ich bekomme:
raise exception_class (Meldung, Bildschirm, stacktrace) selenium.common.exceptions.WebDriverException: Nachricht: { "errorMessage": "Variable kann nicht gefunden werden: lastAlert", "request": {"hea ders": {"Übernehmen": "application/json", "Accept-Encoding": "identity", "Verbindung": "close", "Content-Length": "95", "Inhaltstyp ": "application/json; charset = UTF-8", "Host": "127.0.0.1:56712","User-Agent" : "Python-urllib/2.7"}, "httpVersion": "1.1", "METHO d": "POST", "Post": "{" SessionID "": "3832e2c0-4902-11e6-b766- 0d7f487d0794 \ ", \" args \ ": [], \" script \ ": \" return lastAlert \ "}", "url": "/ execute", "urlParsed": {"anchor": "" , "query": "", "file": "Ausführen", "Verzeichnis": "/", "Pfad": "/ execute", "relativ": "/ execute", "port": "", "host": "", "password": "", "user": "", "userInfo": "", "berechtigung": "", "protocol": "", "source": "/ execute" , "q ueryKey": {}, "chunks": ["ausführen"]}, "urlOriginal": "/ session/3832e2c0-4902-11e6-b766-0d7f487d0794/ausführen"}} Screenshot: über Bildschirm verfügbar
Ich bin nicht sehr erfahren mit Javascript ein d ein Punkt in die richtige Richtung wäre nützlich. Hier