2016-04-27 11 views
3

セレンを使用して新しいウィンドウURLを取得したい場合、PhantomJを使用する方がFirefoxより効率的です。 Pythonのコードはここにある:スクリプト "ウィンドウ()" では新しいウィンドウからurlを取得する方法

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 

、それはhttp://www.renren.com/のための新しいウィンドウが開きます。 Firefoxを使用すると、現在のURLとコンテキストがhttp://www.renren.com/になります。しかし、私は "about:blank"という文脈のURLを取得します。つまり、PhantomJSを使用すると失敗します。 PhantomJSでセレニウムを使用すると、現在のURLをどのように取得できますか? ありがとうございました。

+0

現在のURLを取得する前にスリープ時間を確認しましたか? – Prabhakar

+0

ありがとう、それはうまく動作します:)あなたは私をたくさん助けます! –

+0

更新いただきありがとうございます。あなたが私の答えを受け入れるなら、私は幸せになれます。 – Prabhakar

答えて

0

現在のURLを取得する前に、コードにスリープ時間を追加できます。

from selenium import webdriver 
renren = webdriver.Firefox() 
... 
... 
... 
import time 
    time.sleep(10)# in seconds 
    print renren.current_url 
.. 
関連する問題