我正在使用Selenium WebDriver。每个链接都在新的浏览器窗口中打开。对我来说不方便。我怎样才能改变它,以便它在新选项卡中打开?Selenium WebDriver:打开新选项卡而不是新窗口
9
A
回答
5
硒现在无法切换标签。因此,我们强制浏览器在新窗口中打开链接,但由于我们可以切换窗口,所以我们强制浏览器采取这种方法。这可能被修复在更高版本
+0
清楚,谢谢 – khris 2012-07-06 08:50:13
10
Selenium有能力切换标签现在一天。下面的代码1:适用于Firefox,代码2:适用于IE和Chrome,我们可以使用Robot类,控件不会自动移动到当前选项卡,因此我们需要使用窗口句柄方法切换到当前选项卡。下面给出的代码将很好用当我们运行单个脚本时,但作为一个套件运行时,您可能会感到执行关键板事件时的痛苦。为了避免我们在selenium-Java中通过使用javascript执行程序使用用户定义的javascript方法得到其他可能性。
我们可以在窗口和标签之间进行切换,方法是标识为打开的每个窗口分配的名称,名称将以字母数字字符分配。
***Code 1***
//First tab(default tab)
driver.navigate().to("http://www.google.com");
driver.manage().window().maximize();
//second tab
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");
driver.navigate().to("https://yahoo.com");
//third tab
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");
driver.navigate().to("http://www.google.com");
//move to very first tab.
driver.findElement(By.cssSelector("body"))
.sendKeys(Keys.CONTROL + "\t");
// To close the current tab.
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "w");
**code 2**
driver.navigate().to("http://www.google.com");
driver.manage().window().maximize();
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_T);
Set<String> handles = driver.getWindowHandles();
List<String> handlesList = new ArrayList<String>(handles);
String newTab = handlesList.get(handlesList.size() - 1);
// switch to new tab
driver.switchTo().window(newTab);
driver.get("http://www.yahoo.com");
相关问题
- 1. 打开新选项卡而不是新窗口或同一选项卡
- 2. Firefox打开一个新选项卡而不是弹出窗口?
- 3. 新页面在新窗口中打开,而不是Firefox中的新选项卡
- 4. LinkButton打开新窗口选项卡
- 5. 如何在新选项卡(而不是新窗口)中打开链接?
- 6. window.open打开一个新选项卡而不是一个新窗口(在Chrome中)
- 7. 如何使用selenium webdriver打开新的chrome选项卡?
- 8. 如何使用Java使用selenium webdriver打开新选项卡?
- 9. 使用硒在IE 11(不是新窗口)上打开新选项卡
- 10. Selenium在SendKeys后打开新选项卡
- 11. vb.net在新的IE11选项卡(而不是窗口)中打开链接
- 12. 如何在Selenium中打开新选项卡并且不关闭旧选项卡,保留上一个窗口
- 13. Dropbox采集器已开始在新选项卡中打开,而不是在Chrome中的新窗口中
- 14. javascript:window.location.href在IE中打开firefox和新窗口中的新选项卡(而不是弹出窗口)。我想在同一窗口中打开页面
- 15. 是否可以在watir-webdriver中打开一个新选项卡?
- 16. JavaScript:强制IE打开新窗口而不是窗口?
- 17. 页面在新选项卡中打开,而不是左框架
- 18. 文件已打开时重新使用窗口/选项卡
- 19. 在新选项卡中打开silverlight窗口
- 20. 如何在新选项卡或窗口中打开iframe URL?
- 21. 新窗口未打开,因为Chrome中的选项卡
- 22. 防止在新选项卡/窗口中打开
- 23. 如何在新选项卡/窗口中打开超链接
- 24. 用户response.redirect在新选项卡或窗口中打开链接
- 25. 通过Python打开新的bash选项卡窗口
- 26. handeling在iframe中的新选项卡/窗口中打开
- 27. 在新窗口中打开选项卡并且
- 28. 如何在新窗口中打开JQuery UI选项卡
- 29. 如何从终端打开新文件到MacVim上的选项卡而不是新窗口?
- 30. 如何打开新窗口中的HTML链接而不是Firefox和Chrome上的新选项卡?
您使用哪种编程语言? – 2015-08-12 11:30:50