Iframe 硒帧选择问题

Iframe 硒帧选择问题,iframe,selenium-webdriver,Iframe,Selenium Webdriver,我正在用selenium测试我们的网站登录顺序。当我单击login时,它将加载一个iframe,每次加载时iframe id值都会更改。因此,测试用例在selenium中失败 什么是仅读取iframe的动态部分并在测试运行期间定位它的命令?尝试此方法捕获弹出窗口 String parentWindowHandle = browser.getWindowHandle(); // save the current window handle. WebDriver popup = null;

我正在用selenium测试我们的网站登录顺序。当我单击login时,它将加载一个iframe,每次加载时iframe id值都会更改。因此,测试用例在selenium中失败


什么是仅读取iframe的动态部分并在测试运行期间定位它的命令?

尝试此方法捕获弹出窗口

String parentWindowHandle = browser.getWindowHandle(); // save the current window handle.
  WebDriver popup = null;
  Iterator<String> windowIterator = browser.getWindowHandles();
  while(windowIterator.hasNext()) { 
    String windowHandle = windowIterator.next(); 
    popup = browser.switchTo().window(windowHandle);
   }
String parentWindowHandle=browser.getWindowHandle();//保存当前窗口句柄。
WebDriver弹出窗口=null;
迭代器windowIterator=browser.getWindowHandles();
while(windowIterator.hasNext()){
字符串windowHandle=windowIterator.next();
popup=browser.switchTo().window(windowHandle);
}

希望它将对您有所帮助

使用FrameIndex切换iFrame

driver.switchTo().frame(1); 
或者使用xpath

driver.switchTo().frame(webElement)

或者共享Html代码,以便提供更好的解决方案

要不要给我们看看IFrame的HTML,或者我们需要玩一个猜谜游戏?向我们展示它的两个副本,这样我们就可以看到什么是“动态的”,以及在运行之间什么是变化的。