Estoy tratando de crear una variable JS del administrador de etiquetas de Google para obtener el nombre del artículo cuando alguien hace clic en él.
Necesito recoger solo el título (en rojo) pero no "Vendedores de viviendas"
document.getElementsByClassName("blog-listing-post__summary blog-listing-post__summary--big")[0].querySelector("H3").innerText
devuelve: 'VENDEDORES DE VIVIENDAS\n¿Qué electrodomésticos se incluyen con una propiedad vendida?'
¿Cómo puedo omitir los "vendedores de casas" y obtener valor justo debajo?
¡Gracias!
Intente usar los métodos split() y slice(). Esto devolverá una matriz a la que puede hacer referencia.
let x = 'HOME SELLERS\nWhich Home Appliances are Included with a Sold Property?'; let y = x.split('\n').slice(1); console.log(y); console.log(y[0]);const h3 = document.querySelectorAll('h3').at(-1).innerText
Si desea todo y solo el texto de nivel superior, solo necesita filtrar los childNodes de H3 para obtener solo nodos de texto y luego unir todo el texto. La solución a continuación debería funcionar en la mayoría de los casos.
const myHeadline = document.getElementsByTagName('h3')[0]; const myHeadlineTopLevelText = [...myHeadline.childNodes].filter(node=> node.nodeType === 3).map(node=>node.textContent).join("").trim(); console.log(myHeadlineTopLevelText); <h3> <span>sub text</span> Main text </h3>