Contenidos
Coches.net clasicos y competicion
Coches.net clasicos y competicion 2020
motorclassiccorp
Tengo este <span>¿Cómo te llamas?</span> en el que me gustaría seleccionar el input[@placeholder=’Insira sua resposta’] (ver HTML de abajo) pero no sé cómo llegar desde el span hasta ahí. No he podido retroceder desde el span hasta el padre superior compartido del span y el input. Lo he intentado: //div[@class=”office-form-question-content office-form-theme-focus-border”]/*/span[.=”¿Cuál es tu nombre?”]’ pero devuelve null. He intentado volver de span a div superior mediante //span[.=”¿Cómo te llamas?”]/../*/div[@class=”office-form-question-content office-form-theme-focus-border”]’ tampoco funciona. ¿Cómo puedo hacerlo?
Es muy posible que haya una forma más rápida y sencilla de hacerlo, pero yo aprendí XPath en los malos tiempos de la versión 1.0, así que eso es lo que sé. En el XPath de abajo estoy obteniendo el span con el contenido, usando el eje ancestro para subir al div contenedor, y luego descendiendo de nuevo a la entrada. El document.evaluate y el iterateNext es sólo para demostrar que funciona.
var input = document.evaluate(`//span[text() = “¿Cuál es tu nombre?”]/ancestor::div[@class=”office-form-question-content office-form-theme-focus-border”]//input[@class=”office-form-question-textbox office-form-textfield-input form-control border-no-radius”]`, document, null, XPathResult.ANY_TYPE, null );
para qué se utiliza principalmente la propiedad line-height
Tengo este <span>¿Cómo te llamas?</span> en el que me gustaría seleccionar el input[@placeholder=’Insira sua resposta’] (ver HTML de abajo) pero no sé cómo llegar desde el span hasta allí. No he podido retroceder desde el span hasta el padre superior compartido del span y el input. Lo he intentado: //div[@class=”office-form-question-content office-form-theme-focus-border”]/*/span[.=”¿Cuál es tu nombre?”]’ pero devuelve null. He intentado volver de span a div superior mediante //span[.=”¿Cómo te llamas?”]/../*/div[@class=”office-form-question-content office-form-theme-focus-border”]’ tampoco funciona. ¿Cómo puedo hacerlo?
Es muy posible que haya una forma más rápida y sencilla de hacerlo, pero yo aprendí XPath en los malos tiempos de la versión 1.0, así que eso es lo que sé. En el XPath de abajo estoy obteniendo el span con el contenido, usando el eje ancestro para subir al div contenedor, y luego descendiendo de nuevo a la entrada. El document.evaluate y el iterateNext es sólo para demostrar que funciona.
var input = document.evaluate(`//span[text() = “¿Cuál es tu nombre?”]/ancestor::div[@class=”office-form-question-content office-form-theme-focus-border”]//input[@class=”office-form-question-textbox office-form-textfield-input form-control border-no-radius”]`, document, null, XPathResult.ANY_TYPE, null );
Entradas relacionadas
Bienvenid@, soy Patricia Gómez y te invito a leer mi blog de interés.