切换到框架

时间:2014-09-26 07:18:06

标签: selenium-webdriver

我想使用webdriver切换2个框架,我无法切换。我能够成功点击第一个iframe,但无法切换到第二个iframe。

截至目前,我已尝试以下代码:

fd.switchTo().frame(fd.findElement(By.xpath("/html/body/iframe[1]")));
fd.findElement(By.xpath("/html/body/form/table[2]/tbody/tr[1]/td[1]/a[2]/img")).click();
Thread.sleep(10000);
fd.switchTo().frame(fd.findElement(By.xpath("/html/body/iframe[2]")));
fd.findElement(By.xpath("/html/body/div[2]/div")).click();

抛出异常:

------------------------
Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"/html/body/iframe[2]"}
Command duration or timeout: 46 milliseconds

1 个答案:

答案 0 :(得分:1)

终止第一个iframe并尝试点击下一个iframe。

  。

driver.switchTo()defaultContent();

修改后的代码段

d.switchTo().frame(fd.findElement(By.xpath("/html/body/iframe[1]")));
fd.findElement(By.xpath("/html/body/form/table[2]/tbody/tr[1]/td[1]/a[2]/img")).click();
driver.switchTo().defaultContent(); 

Thread.sleep(10000); // don't use this
fd.switchTo().frame(fd.findElement(By.xpath("/html/body/iframe[2]")));
fd.findElement(By.xpath("/html/body/div[2]/div")).click();