Watin无法访问嵌套的iframe

时间:2012-09-29 13:08:55

标签: iframe watin

我正在尝试使用Watin自动化Web应用程序。

我有HTMLDialog Popup,当我点击HTMLDialog弹出窗口中的一个图标时,iframe刷新和HTML内容会看起来像这样。

<html>
<body>
<Form> </form>
<iframe Name = "A">
 <html>
  <Body>
   <Form Name="frmMain">
    <Table Name ="tblMain">
     <Tbody>
      <TR>  
        <TD>
          <iframe Name = "B">
            <Html>
              <Body>
                <frame Name="innerForm">
                 <Table>
                   <Div> My Object </Div>
                 </Table> ...

我无法识别iFrame'B'中的元素,iframe'B'的InnerHtml始终为null。

代码用于获取内部HTML:

Browser.Frame(Find.ByName("A")).Form(Find.ByName("frmMain")).Table(Find.ById("tblMain")).TableBodies[0].TableRows[0].ElementWithTag("iframe", Find.ById("B")).InnerHtml;

我可以看到iFrame'B'包含我想用IE'Developer Tool'选择的项目。

我错过了什么,因为我想在iFrame'B'中选择一个项目。

1 个答案:

答案 0 :(得分:3)

如果我记得在Browser元素中找到了良好的帧,那么您应该将iframe作为普通帧访问。我无法访问我的来源进行验证,但我建议您尝试

Browser.Frame(Find.ByName("A")).Frame(Find.ById("B"))

访问您所需的框架。