Fenster schalten auf Selen

Ich benutze Selen mit PhantomJS in Python. Ich muss ein neues Fenster öffnen und kontrollieren.

Für Testzwecke mache ich das auch:

from selenium import webdriver driver = webdriver.PhantomJS() driver.get('http://www.google.com.br') handle = driver.execute_script('return window.open("http://www.pudim.com.br/", "any", "height = 450, width = 800, menubar=yes,scrollbars=yes,toolbar=yes,location=no,resizable=yes");') driver.switch_to.window(driver.window_handles[1]) print(driver.current_url) 

Der obige Code funktioniert teilweise. Die URL, die auf der letzten Nachricht gedruckt wird, ist about: blank wie man erwarten würde, ist http://www.pudim.com.br/

One Solution collect form web for “Fenster schalten auf Selen”

Da es keine eingebaute Unterstützung für Selen gibt, um in Multi-Fenster (Multi-Tab) Umgebung zu arbeiten, schießen Sie einen neuen Fahrer statt:

 new_driver = webdriver.PhantomJS() new_driver.set_window_size(800, 450) new_driver.get("http://www.pudim.com.br/") 

Auch ihr aktueller Code funktioniert für mich:

 >>> from selenium import webdriver >>> driver = webdriver.PhantomJS() >>> >>> driver.get('http://www.google.com.br') >>> handle = driver.execute_script('return window.open("http://www.pudim.com.br/", "any", "height = 450, width = 800, menubar=yes,scrollbars=yes,toolbar=yes,location=no,resizable=yes");') >>> driver.switch_to.window(driver.window_handles[1]) >>> print(driver.current_url) http://www.pudim.com.br/ 

Wahrscheinlich bedeutet dies, dass Sie die current_url anfordern, wenn die Seite noch nicht geladen ist. Verwenden Explicit Wait in diesem Fall eine Explicit Wait , um zu warten, dass ein bestimmtes Element auf der Seite erscheint.

Sie können auch die Seitenlast Warte Timeout erhöhen, aber das ist nicht ganz zuverlässig.

  • Python + Selen Das Element kann nicht gefunden werden
  • Verwenden Sie Selen, um zu klicken und mehr Text anzuzeigen
  • Wie wähle ich ein Element aus dem Web-Element mit "display: none" Attribut mit Selen in Python
  • Nehmen Sie eine Seite mit Selenium Web Driver
  • Kann keine Datei mit send_keys im Selenium Webdriver hochladen
  • Reformierung der abgeschabten Selentabelle
  • Python Selen rc create_cookie
  • Selenium webdriver python: Eröffnung Chrom Browser zum Ausführen Test Fall lädt nicht die gespeicherten Einstellungen des Browsers
  • Selen-Aktionsketten keine Wirkung
  • Senden und Empfangen von Daten aus einer Webseite - Selen
  • Wie bekomme ich alle Daten von einer Webseite, die die Lazy-Loading-Methode manipuliert?
  • Python ist die beste Programmiersprache der Welt.