es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo seleccionar un elemento de entrada HTML por su valor actual con CSS o XPath?

¿Es posible seleccionar un elemento de entrada HTML por su valor actual utilizando selectores CSS o XPath?

Mi control de entrada es generado por una aplicación de React como:

    <input name="documents"
    placeholder="Documents" required="" type="file" value="">

¿O las funciones document.query… y document.evaluate() solo consultan el documento cargado inicialmente?

En JavaScript puedo obtener el valor actual de una entrada. Pero estoy tratando de escribir un selector para SeleniumIDE contra una aplicación React. Mis esfuerzos actuales son:

xpath = // input [contains (@value, 'document ')]

o

css = input [value * = 'document ']

pero mientras puedo seleccionar fácilmente por nombre, no logro seleccionar por valor.

En la consola del navegador encuentro que

document.querySelector (" input [name = documents] ").value

me da un valor “C: \ fakepath \ Upload a document.txt”

pero

document.querySelector (" input [value * = doc] ")

no me da nada.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible seleccionar un elemento de entrada HTML por su valor actual utilizando selectores de CSS o XPath. Sin embargo, parece que en el caso de una aplicación de React, las funciones document.query... y document.evaluate() solo consultan el documento inicialmente cargado.

    En este caso particular, la función document.querySelector("input[name=documents]").value recupera el valor del elemento de entrada, pero document.querySelector("input[value*=doc]") no selecciona por valor.

    Es importante tener en cuenta que el uso de contains() en XPath o *= en selectores de CSS busca una subcadena dentro del valor del atributo. Por lo tanto, sería más efectivo usar el valor exacto del elemento de entrada al buscarlo.

    En general, puede ser necesario usar métodos o marcos alternativos, como React Testing Library o Enzyme, para interactuar con elementos dinámicos en una aplicación de React.

Comments are closed.