2015-01-21 1 views
0

Я пытаюсь установить значение в <input type="file" name="file007"> в QTP , но этот элемент находится под iframe и он не в состоянии получить его XPath со страницы:Как найти элемент по XPath из фрейма в QTP

<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> 

I найдено IFRAME по //iframe[contains(@id, 'File')], но элементы внутри #documents не видны

Как найти этот элемент на странице Спасибо

ответ

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.