2016-10-04 21 views
0

ブラウザとしてChromeを使用したPython Selenium webdriverのTwo Tabを処理しようとしています。window_handlesを使用すると、Selenium Webdriverが失敗する

私は選択されたウィンドウとしてChromeブラウザを続ける場合、私は、リンクの最初のタブ上のテキストだけでなく、2番目のタブで検索要素の結果を取得しています。[すなわちフロントスクリーン処理]を

私はに制御を変更した場合

driver.switch_to_window(driver.window_handles[1]) 

を使用して、新しいタブ、[私はGoogleのクロム以外の任意のプロセスを選択した場合、すなわち]だけでなく、上の2番目のタブのための要素が見つかりません例外を言っリンクテキストを見つけるためにエラーが発生します.Iグーグルクロームを最小限に抑えます最初のタブ。

最初のタブに結果が表示されています。

def DriverCreation(): 
    try: 
     Driver = WebBase.initWebScraping(URL) # Methods visible Driver.driver and Driver.loggerDriverWait = Driver.EC 
     print "Driver Creation Successful" 
     return Driver 
    except: 
     print "Driver Initalisation Failed" 
     sys.exit(1) 
if __name__ == '__main__': 
    URL = 'https://www.example.com/' 
    Driver = DriverCreation() # will Load first Tab with www.Example.com 
    aboutlink = Driver.driver.find_element_by_link_text('about') 
    aboutlink.send_keys(Keys.CONTROL + Keys.RETURN) 
    Driver.driver.switch_to_window(Driver.driver.window_handles[1]) 
    contactLink = Driver.driver.find_element_by_link_text('contact') 
    print contactLink.text() #** getting error if i change the focus from Google Chrome and works fine if i keep the window focus on Google Chrome** 
+0

あなたはので、いくつかの余分なコードを置くことができ、私たちは、私はGoogleのChromeからフォーカスを変更したときに簡単に – Piyush

+0

コード –

答えて

0

次のコードを使用してタブを管理できます。

driver.execute_script("window.open('"+url+"', '_blank');") 
driver.switch_to_window(driver.window_handles[1]) 
+0

を更新し、あなたの問題を理解することができますスクリプトが実行されますか? –

+0

はい。私はそれを試しました – Piyush

+0

私は試して更新します。 –

関連する問題