2017-09-26 13 views
2

私は、いくつかの自動化作業のためにセレンを使用してwebdriverインスタンスを作成しています。私は一度に複数のタブを開いており、すべてのタブのURLを開く方法があるかどうかを知りたいと思っています。Pythonを使用して開いているすべてのタブのURLを取得します。

driver=webdriver.Chrome() 
driver.current_url 

上記のコードでは、最初のタブのURLのみが表示されます。私が試したもう一つは、だった:window_handles()が積極的にそれを乱すとして、各タブのcurrent_urlを見つけるためにcurrent_url私はすべてのタブを通過しませ好むが含まれていないUnicodeオブジェクトを返すよう

driver.window_handles[0].current_url 

上記の溶液に失敗しました手元の自動化タスク。

+0

チェックこのhttps://stackoverflow.com/questions/28715942/how-do-i-switch-toアクティブタブインセレン – karansthr

+0

https://stackoverflow.com/questions/40458138/switch-between-tabs-and-perform-action-on-individual-using-selnium# – karansthr

答えて

1

あなただけの、それぞれのウィンドウハンドルをループする必要があることに切り替えて、URLを印刷

for handle in driver.window_handles[0]: 
    driver.switch_to.window(handle) 
    print(driver.url) 
+0

私はこの背後にあるアイデアを得るこの場合、スクリプトはURLを見つけるためにすべてのタブをスクロールする必要があります。これは私が避けたいものです –

+0

あなたはそれを避けることはできません。ウィンドウの詳細を表示するにはウィンドウに切り替える必要があり、一度に使用できるウィンドウは1つだけです –

関連する問題