Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

364
Vistas
¿Cómo usar XPath en una ventana recién abierta?

Con el siguiente código (destinado a un bookmarklet), estoy tratando de abrir una nueva ventana, buscar ciertos elementos de intervalo y hacer clic en cada uno de ellos. Sin embargo, no puedo acceder al código de la nueva ventana a través de XPath.

  • Insertar el código (copiar y pegar) de la clickElem function directamente en la nueva pestaña funciona bien
  • CORS no es un problema ya que es el mismo dominio/subdominio/protocolo
  • También he estado siguiendo esta respuesta .

JavaScript:

 const w = window.open('https://example.com', 'Example', 'width=500, height=500'); w.clickElem = () => { const xpath = '//span[text()="Click here"]'; const selectedNodeElements = w.document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null); let currentNode = selectedNodeElements.iterateNext(); while (currentNode) { currentNode.click(); currentNode = selectedNodeElements.iterateNext(); } } setTimeout(w.clickElem, 8000);

Cuando intento acceder al texto a través currentNode.textContent , recibo el siguiente error:

"Error in protected function: Cannot read properties of null (reading 'textContent')"

¡Agradecido por cada pista!

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

¿Estás seguro de que ya estás dentro de tu ficha? Estoy pensando en algo que necesitas para obtener la pestaña activa como esta .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Finalmente encontré mi propio error después de revisar mi código una y otra vez y encontrar esta respuesta . .iterateNext() no funcionó porque el nodo de contexto se configuró incorrectamente en document . En su lugar, debería ser w.document para hacer referencia a la ventana recién abierta.

 const selectedNodeElements = w.document.evaluate(xpath, w.document, null, XPathResult.ANY_TYPE, null);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda