如何在QTP中从iframe中找到xpath元素

时间:2015-01-21 13:39:26

标签: javascript xpath qtp

我尝试在QTP中设置<input type="file" name="file007">中的值 但是这个元素在iframe之下,并且无法通过xpath获取它 来自页面:

<iframe id="file_007" src="javascript:''" style="position:absolute;width:0;height:0;border:0">
    #document
      <html>
       <head>
       </head>
          <body>
           <form action="/file/upload" method="POST" target="_self" enctype="multipart/form-data">
            <input name="files" type="text">
            <input type="hidden" name="name1" value="1">
            <input type="hidden" name="name2" value="2">
            <input type="hidden" name="name3" value="3">
            <input type="hidden" name="name4" value="4">
            <input type="hidden" name="name5" value="5">
            <input type="hidden" name="name6" value="6">
            <input type="hidden" name="name7" value="false">
            <input type="file" name="file007">
           </form>
    </body>
    </html>
    </iframe>

我在//iframe[contains(@id, 'File')]找到了iframe,但#documents内的元素不可见

如何在页面上找到此元素 谢谢

1 个答案:

答案 0 :(得分:0)

为什么使用XPath?似乎QTP的默认对象识别应该适合您。

 Browser("title:=.*").Page("title:=.*").Frame("html id:=file_007").WebFile("name:= file007").Set "C:\file.txt"

如果你需要使用XPath,那么我认为QTP只支持文档中的XPath,所以你需要识别Frame(可选择通过XPath),然后在它下面识别相对于其所有者Frame