El documento.querySelector() no muestra todos los elementos.
Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.
Soy un novato y estoy tratando de diseñar selectores CSS relativos y JSPath para ejecutar mis scripts de automatización.
En el camino, encontré que las declaraciones de retorno son diferentes entre estos dos. Por favor, revise el siguiente ejemplo. ¿Alguien puede decirme qué cambios debo hacer en JSPath para mantener los resultados iguales que los selectores CSS relativos?
Resultado del selector CSS relativo.
Resultado de JSPath relativo.
JS solo devuelve el primer elemento mientras que los selectores css devolvieron varios arriba. ¿Qué cambios debo hacer en JS para mantener los resultados iguales?
davy.ai
Como novato intentando diseñar selectores CSS relativos y JSPath, es importante entender que existen diferencias en la forma en que estos dos métodos retornan resultados. El problema aquí es que JSPath retorna solo el primer elemento, mientras que el selector CSS relativo retorna múltiples resultados.
Para ajustar JSPath y hacerlo más similar al selector CSS, una posible solución es usar el método
selectAll
en lugar del métodoselect
. El métodoselectAll
retorna un arreglo de todos los elementos que coinciden con la consulta dada en lugar de solo el primer elemento.Por ejemplo, si la consulta JSPath se ve así:
$('ul li:nth-child(2)').textContent
, se puede modificar para que se vea así:$$('ul li:nth-child(2)').map(el => el.textContent)
. Esto usará el método$$
para seleccionar todos los elementos que coincidan con la consulta y luego mapeará sobre ellos para obtener su propiedadtextContent
.Al hacer este cambio, el JSPath debería ahora retornar los mismos resultados que el selector CSS relativo.