使用Selenium WebDriver和窗口处理程序单击元素时,页面无法在新选项卡中打开

时间:2019-01-08 21:24:25

标签: selenium-webdriver selenium-chromedriver

我是Selenium的新手,正在尝试使用多个窗口。

我可以打开初始页面并在控制台中显示其标题。 将显示主页标题。

然后,我找到要单击的元素。

单击该页面后,该页面应该会加载到新标签中,我需要打印出该页面的新标题。

但是,什么也没发生。仅打开新选项卡,后言什么也没有发生。

这是代码:

公共类WindowHandlerPractice {

static ChromeOptions options;
static WebDriver driver;

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.setProperty("webdriver.chrome.driver", "C:\\Users\\eugeneg\\local-eclipse-workspace\\webdrivers\\chromedriver\\chromedriver.exe");
    options = new ChromeOptions();
    options.setExperimentalOption("useAutomationExtension", false);

    driver = new ChromeDriver(options);
    driver.get("https://www.msn.com");
    driver.manage().window().maximize();

    driver.findElement(By.xpath("//div[@class='mestripescrollfix']//ul[@role='menubar']//li[2]")).click();
    //driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    System.out.println(driver.getTitle());
    Set<String> windHand = driver.getWindowHandles();
    Iterator<String> it = windHand.iterator();
    String parentid = it.next();
    String childid = it.next();
    driver.switchTo().window(childid);
    System.out.println(driver.getTitle());
}

}

我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

我只是尝试了上述情况,但对我有用。 您可以尝试以下更改

  • 避免设置chromeoptions
  • 使用最新的chrome和chromedriver