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

时间:2017-09-26 02:18:46

标签: python selenium

我正在使用selenium创建一个webdriver实例来进行一些自动化工作。我一次打开多个标签,想知道是否有办法让所有标签的网址都打开。

driver=webdriver.Chrome()
driver.current_url

以上代码仅提供了第一个标签的网址。我尝试的另一件事是:

driver.window_handles[0].current_url

上述解决方案失败,因为window_handles()返回一个不包含current_url的unicode对象我不想主动浏览所有标签,以便找到每个标签的current_url,因为它会扰乱手头的自动化任务。

1 个答案:

答案 0 :(得分:1)

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

WebElement ele=driver.findElement(By.xpath(".//*[@id='content']/input"));
//check element is present or not
try {
if(ele.size()>0){
   if(ele.isDisplayed()){
   ele.click();
   }
   }
   //switch to alert and perform operation 
   driver.switchTo().alert();
   driver.switchTo().alert().accept();
   Thread.sleep(20000);
} 
 catch (Exception e){
   System.out.println(""+location+"  Done");
}