[英]How to open a web page in a new tab with Selenium WebDriver
I'm new to Selenium. 我是Selenium的新手。
I use Java
language. 我使用
Java
语言。
I want to open some web page, say http://google.com in a new tab. 我想打开一个网页,在新标签中说http://google.com 。
driver.get("http://google.com");
works OK but opens it in a new window. 正常,但在新窗口中将其打开。
I don't want to open an empty new tab, I want to open a new tab with an URL I want ( http://google.com ) 我不想打开一个空白的新标签,我想使用我想要的URL( http://google.com )打开一个新标签
I went through answers here How to open a new tab using Selenium WebDriver with Java? 我在这里回答了如何在Java中使用Selenium WebDriver打开新选项卡? but didn't find suitable, working for me solution.
但找不到适合我的解决方案。
Is it possible? 可能吗?
Potentially, you'll be able to port this over to Java. 潜在地,您可以将其移植到Java。 This is an extension method that I created a while back for use in c#.
这是我创建一段时间后用于c#的扩展方法。 Basically, it uses local javascript to open the new tab in the target browser (ie _driver):
基本上,它使用本地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);
}
usage: 用法:
var url = "http://google.com";
_driver.OpenTab(url);
give it a wee spin and see if you can at least grok the methodology at play. 稍作调整,看看您是否至少可以理解所使用的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.