Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python获取所有打开选项卡的URL_Python_Selenium - Fatal编程技术网

使用Python获取所有打开选项卡的URL

使用Python获取所有打开选项卡的URL,python,selenium,Python,Selenium,我正在使用selenium为一些自动化工作创建一个webdriver实例。我一次打开多个标签页,想知道是否有办法打开所有标签页的URL driver=webdriver.Chrome() driver.current_url 上面的代码仅为我提供了第一个选项卡的URL。我试过的另一件事是: driver.window_handles[0].current_url 上述解决方案失败,因为window\u handles()返回一个不包含current\u url的unicode对象。为了找到每

我正在使用selenium为一些自动化工作创建一个webdriver实例。我一次打开多个标签页,想知道是否有办法打开所有标签页的URL

driver=webdriver.Chrome()
driver.current_url
上面的代码仅为我提供了第一个选项卡的URL。我试过的另一件事是:

driver.window_handles[0].current_url

上述解决方案失败,因为
window\u handles()
返回一个不包含
current\u url
的unicode对象。为了找到每个选项卡的
current\u url
,我不希望主动遍历所有选项卡,因为这会中断手头的自动化任务。

您只需要循环遍历每个窗口句柄,切换到它并打印url

for handle in driver.window_handles:
    driver.switch_to.window(handle)
    print(driver.current_url)

检查这个我得到了这个背后的想法,但在这种情况下,脚本应该滚动所有的标签,以找到网址。这是我想避免的,你无法避免。您需要切换到窗口以获取其详细信息,并且一次只能使用一个窗口,因为selenium在到达每个选项卡之前不知道每个选项卡中的内容状态。我想这就是selenium不同于浏览器引擎的地方,它可以在不通信的情况下完成更多工作。。。