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

314
Vistas
¿Cómo obtener todos los hijos de un elemento en python usando selenio?

¿Cómo puedo convertir este JavaScript en Python para obtener todos los elementos secundarios del padre?

Este script obtiene todos los elementos del sitio google.com a través de la consola

 e = document.getElementsByTagName('body')[0].children for (let i = 0; i < e.length;i++){ console.log(e[i].tagName) }

En python traté de hacer esto, pero no puedo

 import time import requests import pandas as pd from bs4 import BeautifulSoup from selenium import webdriver from selenium.webdriver.firefox import options from selenium.webdriver.firefox.options import Options option = Options() option.headless = True driver = webdriver.Firefox(executable_path=r'C:\geck\geckodriver.exe') driver.get('https://www.google.com.br/') body = driver.find_element_by_tag_name('body') childrens = body.childrens for i in childrens: print(i.tagName) driver.quit()

Comandos utilizados para instalar paquetes:

 pip install pandas pip install bs4 pip install selenium pip install requests

¿Cómo puedo obtener los nombres de los elementos de una etiqueta de cuerpo en python?

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

0

Para convertir este JavaScript en Python para obtener todos los elementos secundarios del padre

 e = document.getElementsByTagName('body')[0].children for (let i = 0; i < e.length;i++){ console.log(e[i].tagName) }

de una manera simple y crujiente, solo necesita pasar el JavaScript dentro de execute_script() de la siguiente manera:

 driver.get("https://www.google.com.br/") driver.execute_script(""" e = document.getElementsByTagName('body')[0].children for (let i = 0; i < e.length;i++){ console.log(e[i].tagName) } """)

Instantánea de la consola:

JavaScript

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar body.find_elements_by_xpath("./child::*") para obtener todos los elementos secundarios en el cuerpo como objeto WebElement y luego obtener su nombre de etiqueta accediendo al atributo tag_name

 import time import requests import pandas as pd from bs4 import BeautifulSoup from selenium import webdriver from selenium.webdriver.firefox import options from selenium.webdriver.firefox.options import Options option = Options() option.headless = True driver = webdriver.Firefox(executable_path=r'C:\geck\geckodriver.exe') driver.get('https://www.google.com.br/') body = driver.find_element_by_tag_name('body') childrens = body.find_elements_by_xpath("./child::*") for i in childrens: print(i.tag_name) driver.quit()
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