【问题标题】:Selenium WebDriver: How to wait for iframes to load completely? Can click on iframe element text box id = “div_4_1_2_1_1-lnk”Selenium WebDriver:如何等待 iframe 完全加载?可以点击 iframe 元素文本框 id = “div_4_1_2_1_1-lnk”
【发布时间】:2013-11-22 09:21:14
【问题描述】:

问题:我正在测试一个带有 iframe 的页面,该 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.

【问题讨论】:

    标签: testing iframe selenium selenium-webdriver


    【解决方案1】:

    Selenium 有一个可以解决您的问题的预期条件:

    ExpectedConditions.frameToBeAvailableAndSwitchToIt(locator)
    

    我建议您阅读此link 和此one

    【讨论】:

      猜你喜欢
      • 2013-08-31
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多