【问题标题】:Open several URL in several New Tab on same session in Selenium在 Selenium 的同一会话上的多个新选项卡中打开多个 URL
【发布时间】:2018-06-07 17:11:08
【问题描述】:

我需要导航到多个网址(通过 Firefox)。我想在不同的选项卡中打开每个 url(但不是在不同的窗口中)。我已经阅读了许多关于 SO 的类似问题 - 有时似乎可行的唯一建议是:

((JavascriptExecutor) driver).executeScript("window.open(arguments[0])", url);

但这并不总是有效 - 有时它会在新窗口而不是新标签页中打开链接。

我认为这可能与我正在使用的特定 Firefox 配置有关,但将 browser.link.open_newwindow.override.external 的值更改为 3 似乎并不能解决问题。

为了更加清楚,我不是在谈论在新标签页中打开网页上的链接(我知道这在 stackoverflow 上的其他线程中已讨论过)我正在谈论直接导航到新标签页中的多个 url。

那么如何让 Firefox 在新标签页中打开网址?

【问题讨论】:

标签: javascript java selenium


【解决方案1】:

在当前会话中打开新标签的确切java解决方案如下

((JavascriptExecutor)driver).executeScript("window.open('http://www.amazon.com');");

它会自动切换到新的标签句柄。如果您想在选项卡驱动程序句柄之间切换,请实现这一点。

String mainWindowHandler = driver.getWindowHandle();

for(String winHandle : driver.getWindowHandles()){
    driver.switchTo().window(winHandle);
}

编辑:如果你使用 url 作为变量,那么使用下面的代码

 String url = "http://www.amazon.com/";
((JavascriptExecutor)driver).executeScript("window.open('" + url + "');");  

【讨论】:

    猜你喜欢
    • 2012-05-01
    • 1970-01-01
    • 2015-03-25
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    • 2017-05-26
    • 2016-05-06
    相关资源
    最近更新 更多