首页 > 解决方案 > Selenium 测试 - 通过弹出窗口添加的文本未保存

问题描述

我正在尝试使用 selenium web 驱动程序自动化网站。在网站上,有一个用于创建门名称的弹出表单,其中包含用于输入文本的文本字段。使用我尝试做的硒,弹出来但给定的文本没有得到保存。弹出它工作正常。需要向导来完成动作。

在此处输入图像描述

我使用的方法如下:

Alert alert=driver.switchTo().alert();
driver.switchTo().alert().sendKeys("New Gate");
alert.accept();
System.out.println(alert.getText());
  1. 元素由 Xpath 元素定位器标识。
  2. 我还提供了文本和 URL,这是我从堆栈中获得的另一种方法。

标签: javaseleniumselenium-webdriverautomated-tests

解决方案


您需要先切换到弹出窗口。然后您可以访问弹出窗口中的元素。

 // save your main window handle
    String MainWindow=driver.getWindowHandle();

    // Get all window handle    
    Set<String> handles = driver.getWindowHandles();

现在,对于句柄中的每个 childHandle,

driver.switchTo().window(childHandle );
// check if your textField present. 
// If found, do your actions and break;
//  else switch to next window

最后,再次切换到主窗口。

 driver.switchTo().window(MainWindow);

推荐阅读