Selenium 不按索引编号切换的帧
我将帧的数量作为“frsize”,并开始循环以按索引切换帧。但它并没有切换到另一个指数Selenium 不按索引编号切换的帧,selenium,iframe,Selenium,Iframe,我将帧的数量作为“frsize”,并开始循环以按索引切换帧。但它并没有切换到另一个指数 Boolean flag=null; List<WebElement> frames=driver.findElements(By.tagName("iframe")); int frsize=frames.size(); for(int i=0;i<frsize;i++) { driver.switchTo().frame(i); System.out.println
Boolean flag=null;
List<WebElement> frames=driver.findElements(By.tagName("iframe"));
int frsize=frames.size();
for(int i=0;i<frsize;i++)
{
driver.switchTo().frame(i);
System.out.println("Frame Index Number "+i);
flag = driver.findElements(By.xpath(locatorValue)).size()!= 0;
System.out.println("Checking Flag Condition");
if(flag==true)
{
System.out.println("It returns true");
return true;
}
else
{
System.out.println("It returns false");
return false;
}
}
Boolean标志=null;
列表帧=driver.findElements(按.tagName(“iframe”);
int frsize=frames.size();
对于(inti=0;i欢迎来到SO
添加driver.switchTo().defaultContent();
作为for循环的最后一步。这样,上下文将始终更改为parent,然后更改为循环中的iframe
Boolean flag=null;
List<WebElement> frames=driver.findElements(By.tagName("iframe"));
int frsize=frames.size();
for(int i=0;i<frsize;i++)
{
driver.switchTo().frame(i);
System.out.println("Frame Index Number "+i);
flag = driver.findElements(By.xpath(locatorValue)).size()!= 0;
System.out.println("Checking Flag Condition");
if(flag==true)
{
System.out.println("It returns true");
return true;
}
else
{
System.out.println("It returns false");
return false;
}
driver.switchTo().defaultContent();
}
Boolean标志=null;
列表帧=driver.findElements(按.tagName(“iframe”);
int frsize=frames.size();
对于(int i=0;i当您处理网页中的弹出对话框/iframe窗口时,则使用driver.switch to().defaultContent()
将控件切换回窗口中的默认内容。如果driver.switch to().defaultContent();
不起作用,则使用driver.switch to().parentFrame();
。如果您认为问题已经解决,请单击我的答案左侧向下投票按钮下方的空心复选标记,接受答案。请随意向上投票:-)很抱歉,它删除了错误,但仍然不起作用。它正在终止。您的frsize是多少?您确定Locator值是正确的吗?如果我没有错,您可能只有一帧?Locator值是正确的。我验证了它,该页中有3帧。我正在将输出粘贴到此处。帧数是:3帧索引编号0检查Flag条件它返回错误测试运行:1,失败:0,错误:0,跳过:0,经过的时间:92.277秒抱歉,它删除了错误但仍不工作。它将终止循环