如何使用 Selenium WebDriver 在新选项卡中打开网页
How to open a web page in a new tab with Selenium WebDriver
我是 Selenium 新手。
我使用 Java
语言。
我想打开一些网页,在新标签页中说 http://google.com。
driver.get("http://google.com");
工作正常,但在新 window 中打开它。
我不想打开一个空的新标签,我想打开一个带有 URL 我想要的新标签 (http://google.com)
我在这里查看了答案 How to open a new tab using Selenium WebDriver with Java? 但没有找到适合我的解决方案。
可能吗?
您可能可以将其移植到 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);
试一试,看看您是否至少可以理解其中的方法。
我是 Selenium 新手。
我使用 Java
语言。
我想打开一些网页,在新标签页中说 http://google.com。
driver.get("http://google.com");
工作正常,但在新 window 中打开它。
我不想打开一个空的新标签,我想打开一个带有 URL 我想要的新标签 (http://google.com)
我在这里查看了答案 How to open a new tab using Selenium WebDriver with Java? 但没有找到适合我的解决方案。
可能吗?
您可能可以将其移植到 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);
试一试,看看您是否至少可以理解其中的方法。