2016-04-27 7 views
3

Ich möchte eine neue Fenster-URL mit Selen, und PhantomJs ist effizienter als Firefox. Python-Code ist hier:So erhalten Sie URL von einem neuen Fenster mit Selenium mit Phantomjs

from selenium import webdriver 
renren = webdriver.Firefox() 
#renren = webdriver.PhantomJS() 
renren.get("file:///home/xjz/Desktop/html/easy.html") 
renren.execute_script("windows()") 
now_handle1 = renren.current_window_handle 
all_handles1 = renren.window_handles 
for handle1 in all_handles1: 
    if handle1 != now_handle1: 
     renren.switch_to_window(handle1) 
     print renren.current_url 
     print renren.page_source 

In Skript "Fenster()", wird es für http://www.renren.com/ ein neues Fenster öffnen. Wenn ich Firefox verwende, erhalte ich die aktuelle URL und den Kontext von http://www.renren.com/. Aber ich bekomme "about: blank" von der URL und "" vom Kontext. Es bedeutet, dass ich gescheitert bin, wenn ich PhantomJS benutze. Wie kann ich die aktuelle URL erhalten, wenn ich Selen mit PhantomJS verwende? Vielen Dank.

+0

Haben Sie mit der Ruhezeit überprüft, bevor Sie die aktuelle URL erhalten? – Prabhakar

+0

Vielen Dank, es funktioniert gut :), du hilfst mir sehr !! –

+0

Danke für das Update. Ich werde mich freuen, wenn Sie meine Antwort akzeptieren. – Prabhakar

Antwort

0

Sie können die Ruhezeit in Ihrem Code hinzufügen, bevor Sie die aktuelle URL abrufen.

from selenium import webdriver 
renren = webdriver.Firefox() 
... 
... 
... 
import time 
    time.sleep(10)# in seconds 
    print renren.current_url 
.. 
Verwandte Themen