我正在使用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. 在新选项卡中打开而不是新的_blank窗口
- 3. Firefox打开一个新选项卡而不是弹出窗口?
- 4. 新页面在新窗口中打开,而不是Firefox中的新选项卡
- 5. 如何使用Selenium WebDriver在后台打开Chrome新选项卡窗口?
- 6. LinkButton打开新窗口选项卡
- 7. 在Selenium IDE中关闭新打开的选项卡或窗口
- 8. 如何在新选项卡(而不是新窗口)中打开链接?
- 9. window.open打开一个新选项卡而不是一个新窗口(在Chrome中)
- 10. 使用硒在IE 11(不是新窗口)上打开新选项卡
- 11. Selenium Webdriver - Java:我想打开新的打开弹出窗口
- 12. 在Mac上使用Selenium WebDriver在Firefox中打开新选项卡
- 13. 使用Selenium在Chrome中打开新选项卡Facebook PHP Webdriver
- 14. 如何使用Java使用selenium webdriver打开新选项卡?
- 15. 如何使用selenium webdriver打开新的chrome选项卡?
- 16. Selenium webdriver,Java - 在新选项卡中打开填充表单
- 17. 在node.js中打开一个新选项卡selenium-webdriver
- 18. Selenium在SendKeys后打开新选项卡
- 19. 我想打开一个新的选项卡,而不是一个弹出窗口
- 20. 在Firefox中,OAuth窗口在新选项卡中打开,而不是弹出..?
- 21. 如何在IE选项卡中打开一个URL而不是新窗口 - Java
- 22. vb.net在新的IE11选项卡(而不是窗口)中打开链接
- 23. 源不可用于新打开的窗口 - Selenium Webdriver
- 24. 硒IE浏览器驱动程序打开新窗口,而不是window.open()上的新选项卡
- 25. 如何打开新选项卡时打开新选项卡
- 26. 修改document.location,以便打开新的选项卡/窗口,而不是在当前选项卡中导航
- 27. 如何打开新窗口而不是新标签
- 28. 如何在Selenium中打开新选项卡并且不关闭旧选项卡,保留上一个窗口
- 29. Selenium-WebDriver打开了新的Firefox窗口,但未导航到URL
- 30. 如何用Selenium webdriver在水豚中打开一个新窗口?
您使用哪种编程语言? – 2015-08-12 11:30:50