如何使用Selenium WebDriver在新选项卡中打开网页

时间:2015-04-30 21:27:01

标签: java selenium selenium-webdriver

我是Selenium的新手 我使用Java语言 我想打开一些网页,在新标签中说http://google.comdriver.get("http://google.com");可以正常工作,但可以在新窗口中打开它 我不想打开一个空的新标签页,我想打开一个包含我想要的网址的新标签页(http://google.com
我在这里找到了答案How to open a new tab using Selenium WebDriver with Java?,但找不到合适的,为我工作的解决方案 有可能吗?

1 个答案:

答案 0 :(得分:2)

潜在地,您将能够将其移植到Java。这是我在c#中使用的一段时间后创建的扩展方法。基本上,它使用本地javascript在目标浏览器中打开新选项卡(即_driver):

public static void OpenTab(this IWebDriver driver, string url)
{
    var windowHandles = driver.WindowHandles;
    var script = string.Format("window.open('{0}', '_blank');", url);
    ((IJavaScriptExecutor)driver).ExecuteScript(script);
    var newWindowHandles = driver.WindowHandles;
    var openedWindowHandle = newWindowHandles.Except(windowHandles).Single();
    driver.SwitchTo().Window(openedWindowHandle);
}

用法:

var url = "http://google.com";
_driver.OpenTab(url);

给它一个旋转,看看你是否至少可以在游戏中找到方法。