【问题标题】:watir: content of frame.body is not updated (is there any refresh method)watir:frame.body 的内容没有更新(有没有刷新方法)
【发布时间】:2015-11-24 09:09:44
【问题描述】:

您好,我正在使用 watir 对 PHP 项目进行黄瓜测试。 不幸的是,页面总是由两个框架组成。

<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=7">
    <title>Rothschild - Olomouc</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/skripty.js"></script>
  </head>
  <frameset cols="183,*" frameborder="NO" border="0" framespacing="0" rows="*">
    <frame name="leftFrame" scrolling="AUTO" noresize src="">
    <frame name="mainFrame" src="getuser.php">
  </frameset>
  <noframes> 
    <body id=body bgcolor="#FFFFFF" text="#000000">
    </body>
  </noframes> 
</html>

leftFrame 是菜单, mainFrame是主页内容。

我用

if headless
  @browser = Watir::Browser.new :phantomjs #headless  
else
  require 'watir-webdriver'
  @browser = Watir::Browser.new :ie #non headless,IExplorer
end

main_content= @browser.frame(:name, "mainFrame").body

获取页面主要部分的内容。 它几乎每次都有效。

但现在我在双击TR 时遇到这种情况

  <tr class="subTable dealer_1" onDblClick="window.location.href='detail_dealer.php?id=207'">
    <td><a name="a207"></a></td>
    <td>    Lama Mirek</td>
    <td> Ústí n. Orlicí</td>
    <td></td>
  </tr> 

让我到页面detail_dealer.php?id=207(当然是mainFrame) 但是

@browser.frame(:name, "mainFrame").body

给我上一个表格(双击行)。

当我尝试用 PRY 调试它时

pry:> @browser.frame(:name, "mainFrame").body  => content of desired detail page

看起来 watir 需要一些时间来“重新加载”正文内容。有什么方法可以做“refresh”或“wait until new content is loaded”吗?

watir-webdriver 和 phantomjs 两个驱动程序都会发生这种情况。

【问题讨论】:

    标签: phantomjs watir


    【解决方案1】:

    Watir 有多个methods for waiting。

    您需要找到一个仅在单击tr 元素后才存在的元素。然后调用其中一种等待方法。例如:

    browser.element.wait_until_present
    

    或者,您也可以在单击tr 后等待元素被删除:

    browser.element.wait_while_present
    

    【讨论】:

      猜你喜欢
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 2019-06-06
      • 2012-11-23
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      相关资源
      最近更新 更多