2017-09-26 161 views
2

我正在使用selenium創建一個webdriver實例來進行一些自動化工作。我一次打開多個選項卡,並希望知道是否有辦法打開所有選項卡的URL。使用Python獲取所有打開的選項卡的URL

driver=webdriver.Chrome() 
driver.current_url 

上述代碼僅向我提供了第一個選項卡的URL。我想另一件事是:

driver.window_handles[0].current_url 

上述解決方案未能爲window_handles()返回一個Unicode對象不包含current_url我不想通過所有選項卡會積極,以便找到,因爲它會破壞每個標籤的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

你只需通過每個窗口句柄,需要循環,切換到它,並打印網址

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

我明白這個想法背後,但在這種情況下,腳本應滾動瀏覽所有選項卡以查找URL。這是我想避免的事 –

+0

你無法避免這種情況。您需要切換到窗口以獲取詳細信息,並且一次只能使用一個窗口 –

相關問題