Estoy ejecutando la secuencia de comandos para automatizar casos de prueba y tener este problema único.
He detectado y utilizar los Identificadores de los elementos para hacer clic etc. propósito. Sin embargo, de repente estas ids han cambiado y el script funciona no más.
Otra cosa extraña es que los Identificadores son los mismos que en la secuencia de comandos cuando inspeccionado en Chrome, pero diferentes en Firefox conductor del navegador.

Firebug para conductor de prueba: –

<p class="description" onclick="selectElementTextListForIE(this,'tile29', 'tile19');selectElementTextList(this,'tile29', '')" id="tile29_span_0_0">
                                                            Platinum
                                                        </p>

Chrome inspector para el mismo elemento: –

<p class="description" onclick="selectElementTextListForIE(this,'tile20', 'tile19');selectElementTextList(this,'tile20', '')" id="tile20_span_0_0">
                                                            Platinum
                                                        </p>

También, lo que podría ser la mejor estrategia para la detección de tales elementos cuyos Identificadores se generan en ejecutar.
Incluso he intentado usando XPATH, pero que también contiene el id de referencia del
por ejemplo. @id=»tile276_input

Cualquier ayuda será apreciada.

Gracias.

Abhishek

  • Sería más fácil ayudarte si quieres mostrar un ejemplo de HTML de Chrome y Firefox, de manera que podamos ver las diferencias.

3 Comentarios

  1. 8

    Puede utilizar CSS para esto. Para el elemento, se parece a su:

    <* id="tile276_input" />
    

    Lo que usted necesita hacer es averiguar lo que está cambiando al respecto. Supongo que es el número intermedio. Si es así, entonces su selector sería algo como:

    By.cssSelector("*[id^='tile'][id$='input']")
    

    Esto va a buscar cualquier cosa que tiene un IDENTIFICADOR que «comienza con tile» y «termina con input. En nuestro caso, "tile276_input" partidos.

    Ver este artículo si desea obtener más información

    • Pero hay varias entradas que comienzan con el mismo Id. Ejemplo: – navegador.find_element(:id =>’tile20_span_0_0′).haga clic en #Platinum navegador.administrar.los tiempos de espera.implicit_wait = 1 navegador.find_element(:id =>’tile210′).haga clic en #botón Aceptar navegador.administrar.los tiempos de espera.implicit_wait = 1 #SELECCIONE SERVICIOS navegador.find_element(:id =>’tile45_span_3_0′).haga clic en #Termográfico
    • entonces usted necesita para ser más específicos con su selector. aprender padre-hijo-descendiente jerarquías de trabajar con CSS y que va a resolver su problema
    • Si utiliza Xpath , usted puede hacer complejo selectores que implican la obtención de un elemento, a continuación, llegar a sus padres, a continuación, obtener una hija diferente… etc. Usted no necesita conseguir por id. Usted puede obtener los elementos de la posición relativa con css o con xpath.
  2. 1

    Usted también puede tratar de contains y starts-with() para este tipo de cosas

    driver.findElement(By.xpath("//*[contains(@id,'title')]"))
    

    o

    driver.findElement(By.xpath("//* [start-with(@id,'title')]"))
    
  3. 0
    WebElement element = driver.getElement(By.cssSelector("[id^='title']);
    

    O

    WebElement element = driver.getElement(By.cssSelector("id:contains('title')"));
    

    Puede utilizar este elemento para realizar las acciones deseadas.

Dejar respuesta

Please enter your comment!
Please enter your name here