打开新的url窗口,而不知道url Selenium webDriver

本文关键字:url 不知道 Selenium webDriver 窗口 | 更新日期: 2023-09-27 18:01:17

在所有Selenium代码示例中,如果我想打开webdriver特定的网站页面,它会像这样

' chromeDriver.Navigate () .GoToUrl (sitename);

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

打开新的url窗口,而不知道url Selenium webDriver

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

http://seleniumhq.github.io/selenium/docs/api/dotnet/?topic=html/P_OpenQA_Selenium_Remote_RemoteWebDriver_Url.htm

试试这个:

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);

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