我正在使用selenium创建一个webdriver实例来进行一些自动化工作。我一次打开多个标签,想知道是否有办法让所有标签的网址都打开。
driver=webdriver.Chrome()
driver.current_url
以上代码仅提供了第一个标签的网址。我尝试的另一件事是:
driver.window_handles[0].current_url
上述解决方案失败,因为window_handles()
返回一个不包含current_url
的unicode对象我不想主动浏览所有标签,以便找到每个标签的current_url
,因为它会扰乱手头的自动化任务。
答案 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");
}