问题:我正在测试一个带有iframe的页面,其内容是由JavaScript动态生成的。我要等待iframe完全加载,以确保我需要的所有元素都存在。
<iframe frameborder="0" style="border: 0px none; width: 100%; height: 290px; min-width: 0px; min-height: 0px; overflow: auto;" dojoattachpoint="frame" title="Fill Quote" src=" =1&zTaskId=9309&zResetContext=true&coachDebugTrace=none>
------------------------------------------------
<input id="div_4_1_1_1_1_1_2-in" class="p-field span12" type="text">
我试过下面的代码,
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
WebDriverWait wait = new WebDriverWait(driver, 4000);
wait.until(ExpectedConditions.visibilityOfElementLocated((By.id("div_4_1_2_1_1-lnk"))));
但它不起作用。而这个iframe只动态生成了他的标题
输出:
Nov 22, 2013 2:52:03 PM org.openqa.selenium.support.ui.ExpectedConditions findElement
WARNING: WebDriverException thrown by findElement(By.id: div_4_1_2_1_1-lnk)
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.