2017-09-26 132 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

你无法避免这种情况。您需要切换到窗口以获取详细信息,并且一次只能使用一个窗口 –

相关问题