C# 在不知道url的情况下打开新的url窗口

C# 在不知道url的情况下打开新的url窗口,c#,selenium,automation,C#,Selenium,Automation,在所有示例中,如果我想要打开特定于webdriver的网站页面,它是这样的 `chromeDriver.Navigate().gotour(sitename) 但现在我有一个问题,当我点击这个网页时,我正在测试它的新网站(第三方网站),我不能提前知道URL。 所以大家都知道,我怎么知道新打开的页面中的URL是什么 您可以使用driver.url访问当前url 试试这个: driver.get("https://stackoverflow.com"); Actions action = new A

在所有示例中,如果我想要打开特定于webdriver的网站页面,它是这样的

`chromeDriver.Navigate().gotour(sitename)

但现在我有一个问题,当我点击这个网页时,我正在测试它的新网站(第三方网站),我不能提前知道URL。
所以大家都知道,我怎么知道新打开的页面中的URL是什么

您可以使用
driver.url
访问当前url

试试这个:

driver.get("https://stackoverflow.com");
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//*[@id='nav-tags']"))).sendKeys(Keys.SHIFT).click().build().perform();

// You have opened your unknown site in a new window till now

String currentWindowHandle = driver.getWindowHandle();
ArrayList < String > windowHandles = new ArrayList < String > (driver.getWindowHandles());
    for (int i = 0; i < windowHandles.size(); i++) {
    if (windowHandles.get(i).equals(currentWindowHandle)) {

        //SwitchTo new Window
        driver.switchTo().window(windowHandles.get(i + 1));

        //Do your stuff like get URL that tou need
        System.out.println(driver.getCurrentUrl());
        System.out.println(driver.getTitle());

        //Close the newly opened window
        driver.close();
    }
}
driver.switchTo().window(currentWindowHandle);
driver.get(“https://stackoverflow.com");
动作动作=新动作(驱动);
action.moveToElement(driver.findelelement(By.xpath(“/*[@id='nav-tags']”)).sendKeys(Keys.SHIFT)。单击().build().perform();
//到目前为止,您已在新窗口中打开未知站点
字符串currentWindowHandle=driver.getWindowHandle();
ArrayListwindowHandles=新的ArrayList(driver.getWindowHandles());
对于(int i=0;i

这里,这将在一个新窗口中打开标记窗口,并获取该窗口的URL,假设这是您想要的。

这不是远程驱动程序,我正在运行cod本地所有驱动程序扩展远程驱动程序,并具有driver.URL属性。在您发送的内容中,我没有可以在不事先知道的情况下转到URL的属性。也许我遗漏了什么?如果webdriver在特定页面上,它可以使用url。但我的问题是,我站在一个页面上,然后点击某个字段,它会打开一个新页面,我需要知道它的URL。你是在另一个窗口打开新页面还是什么?您也可以导航到其他窗口,然后获取驱动程序.Url,然后返回到原始窗口并在那里使用它。