我一直在尝试许多功能来打开我最近打开的选项卡中的链接,但它不起作用。
具有注释的最小可重复示例,说明每行之后会发生什么(这是使用Selenium webdriver,Java):
driver.get("https://twitter.com") //opens twitter in tab 1(intended)
((JavascriptExecutor)driver).executeScript("window.open('https://google.com')"); //opens new tab (tab 2) then opens google.com(intended)
((JavascriptExecutor)driver).executeScript("window.location.replace('https://facebook.com')"); //opens facebook.com in tab 1 (unintended)
我希望Facebook在选项卡2中打开。
一旦打开<代码>https://twitter.com作为基本url,然后打开https://google.com,然后打开urlhttps://facebook.com在同一个adjascent选项卡中,您必须为numberOfWindowsToBe(2)诱导WebDriverWait,并且可以使用以下解决方案:
>
public class A_demo
{
public static void main(String[] args) throws Exception
{
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
WebDriver driver = new ChromeDriver(options);
driver.get("https://twitter.com");
String parent_window = driver.getWindowHandle();
((JavascriptExecutor) driver).executeScript("window.open('https://google.com');");
new WebDriverWait(driver,5).until(ExpectedConditions.numberOfWindowsToBe(2));
Set<String> allWindows = driver.getWindowHandles();
for(String child_window:allWindows)
if(!parent_window.equalsIgnoreCase(child_window))
driver.switchTo().window(child_window);
driver.get("https://facebook.com");
driver.quit();
}
}
问题内容: 我正在处理HTML项目,但是我不知道如何在没有JavaScript的情况下在新标签页中打开链接。 我已经知道可以在同一选项卡中打开链接。有什么想法可以使其在新的环境中打开吗? 问题答案: 将链接的“目标”属性设置为: (注意:我之前建议这样做,而不是因为如果使用它,它将打开一个新选项卡,如果再次单击该链接,则会使用相同的选项卡。但是,这仅是因为正如GolezTrol所指出的那样,它指向
我正在做一个HTML项目,我无法找到如何在没有JavaScript的情况下打开新选项卡中的链接。 我已经知道在同一个选项卡中打开链接。有什么想法如何让它在一个新的开放?
问题内容: 我正在尝试使用$ state.go函数实现“在新标签页中打开链接”功能。如果有这样的东西,那就太棒了: 有没有办法使用AngularJS做到这一点? 问题答案: 更新:好的,我只是使用以下代码解决了它:
问题内容: 我有以下使用Vaadin编写的代码。当用户单击按钮时,代码将打开页面。 我的问题是我有什么办法指定要在新标签页中打开页面吗? 谢谢。 问题答案: 该窗口的名字是很重要的位置。要注意的是,你还可以有一个浏览器 将 可以在新窗口中打开资源来代替。 该方法还有另一个签名,即 可能符合要求。HTH。 参考:Page(Vaadin 7.2.1 API) 。
我在stackoverflow上找到了这段代码,它基本上只是Baner的代码。我的问题是,当我按下横幅时,如何在新标签中打开链接? 代码:
Selenium 2:打开新选项卡中的链接并关闭选项卡 但是它打开了一个窗口而不是一个标签,我无法控制延迟。我用的是硒3。使用带有JAVA的Selenium WebDriver,我试图自动化一个功能,我必须打开一个新的选项卡,在那里执行一些操作,然后回到以前的选项卡(父选项卡)。用firefox做这件事最好的方法是什么?