Tengo el siguiente código en html para una WebTable(Web de la red).

<table width="90%">
  <div class="greybox" style="margin-top:2%;">
    <table class="datagrid" width ="100%">....<table>
  </div>
</table>

He intentado proporcionar exactamente la misma(todas) las propiedades en mi descriptivo de programación, pero el Elemento Web(DIV) es no ser identificado por QTP. Hay una forma única de identificar esto?

Nota: La página Web está desarrollada en una sola página de la aplicación

Edición:

Así que creo que he resuelto el problema con el código de abajo. Hay dos Objetos que se identifican sin el «Texto Único» si la cláusula. Primer Objeto fue el padre de la DIV objeto por lo que se tuvo que utilizar un «texto Único» desde el primer objeto que, de no ser parte de cualquier otro objeto. Actualmente estoy tratando con diferentes datos para ver si está funcionando bien

Browsername = Browser("micClass:=Browser").GetROProperty("name")
Pagename = Browser("micClass:=Browser").Page("micClass:=Page").GetROProperty("name")

Set desc = Description.Create()
desc("micclass").Value = "Webelement"

Set ChildObject=Browser("name:="&BrowserName).Page("name:="&PageName).ChildObjects(desc)

Set Child_Table_Value = nothing

For i=0 to ChildObject.Count-1
  innerhtmlvalue = ChildObject(i).GetRoproperty("innerhtml")
  htmltag = ChildObject(i).GetRoproperty("micclass")

  if(Instr(innerhtmlvalue, "MARGIN-TOP: 2%")<>0) then 
    if(Instr(innerhtmlvalue, "UniqueText")=0) then
      if(Instr(htmltag, "WebElement")<>0) then
        Set Child_Table_Value  = ChildObject(i)
      End If
    End If
  End IF
Next

Set Table_Value = Child_Table_Value.WebTable("html tag:=Table")
  • ¿Qué estaba tratando de obtener, el WebTable? Exactamente lo que los identificadores estás tratando de usar? Hay varias tablas en la página con la clase «datagrid»? Y si no, ¿por qué el foco en el div padre?
  • Es una sola página de la aplicación y hay un montón de mesa disponibles. Cuando traté de usar el Objeto de espionaje, yo no he encontrado ninguna de tabla se identifica el uso de un IDENTIFICADOR único, y cuando se ejecuta ser identificado por ordinal identificador y ya para diferentes tipos de datos, algunos tablas aparecen y algunos no, en la tabla no necesariamente apuntan a la tabla de la derecha estoy tratando de obtener valores de. ASÍ que he tenido que utilizar el trabajo por encima de todo para identificar la tabla correcta. hasta ahora está funcionando bien
  • Es bueno que hayas encontrado una solución, pero si usted proporciona una imagen más clara del HTML, a continuación, alguien de aquí podría ser capaz de proporcionar usted con un menor tiempo de/menos complicada solución. Usted podría ser capaz de hacerlo en una sola instrucción XPath. Puede usted proporcionar un fragmento de código HTML que incluye parte de la tabla y este «texto único» que se hace referencia?
  • Sí eso es, exactamente, cuál es en mi primer post si usted está hablando de las propiedades. Me gustaría leer el interior de la tabla de datos, pero no hay nada único sobre la mesa. <table width=»90%»> <div class=»greybox» style=»margin-top:2%;»> <table class=»datagrid» width =»100%»>….</Table> <div> </table>. El …. líneas representa los datos que son el contenido de la tabla. Uno de los contenidos es el Único texto. No se me permite compartir el contenido de la tabla, ya que es un cliente confidencial de los datos
  • Simplemente proporcione un ejemplo de código HTML con PII reemplazado con palabras al azar, como Lorem Ipsum!?

2 Comentarios

  1. 1

    Ok, así que suponiendo que se tiene una estructura HTML, algo como esto:

    <table width="90%">
      <tr>
        <td>
          <div class="greybox" style="margin-top:2%;">
            <table class="datagrid" width="100%">
              <tr>
                <td>UniqueText</td>
              </tr>
            </table>
          </div>
        </td>
      </tr>
    </table>

    …y como por su solución actual, en la que usted puede confiar en «UniqueText» estar presente, entonces usted podría tratar de la siguiente instrucción XPath:

    (//table[contains(., 'UniqueText')])[last()]

    Así que en QTP/UFT usted estaría haciendo:

    Browser("micClass:=Browser").Page("micClass:=Page").WebTable("xpath:=(//table[contains(., 'UniqueText')])[last()]")
    • Gracias Xiaofu. Voy a probar este y dejar que usted sabe cómo funciona esto. Sin embargo ¿cuál es la última función() acerca de?
    • Incluso si se usa el UniqueText’ para limitar la búsqueda, la instrucción XPath va a coincidir con 2 tablas debido a que ambas tablas contienen ese texto. last() se asegura de que usted consigue el interior coincidente de la tabla.
    • Gracias Xiaofu y lo siento por el retraso no era el uso de la Automatización para un tiempo desde que hemos tenido algunas pruebas Manuales pasando aquí. Esto funciona bien.
    • Si esto funciona bien, por favor, acepte la respuesta para la pregunta no se despliega en el «sin respuesta» cola de más.
  2. 0

    Trate de usar como el de abajo.(Trate de identificar el bloque div uso de la «clase»)

    Browser("micClass:=Browser").Page("micClass:=Page").Webelement("class:=greybox").Webtable("class:=datagrid")

    Por favor, hágamelo saber

    • Hi Tech Perro. Gracias por tu aporte, pero no funcionan
    • Intente utilizar xpath(si la u no sabes cómo conseguir xpath Uso xpathchecker addin(mozila) ayudar a conseguir xpath).

Dejar respuesta

Please enter your comment!
Please enter your name here