如何使用 Selenium 以文本格式打印 Web 元素列表

问题描述 投票:0回答:1

我有一个元素列表,我想以文本格式打印,但是 Selenium 不会以可读格式打印它。 下面是我的代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


driver = webdriver.Chrome()
driver.get("https://www.morphmarket.com/all/c/reptiles/pythons/ball-pythons")
wait = WebDriverWait(driver,10)

snakes = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,"a.animalCard--avL0R")))

links = []
for i in snakes:
     links.append(i.get_attribute("href"))
 

elements_details=[]
for link in links:

    driver.get(link)
    genes = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "h1.animalTitle--cH6qE")))
    elements_details.append({"genes":genes})
    snake = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "h2.animalSubTitle--mhYId")))
    elements_details.append({"snake":snake})
    price = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "h1.salePrice--qNIIs")))
    elements_details.append({"price":price})

    Birth = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,"div.labelValueContainer--z1CP3")))
    for birth in Birth:
        elements_details.append({"brith":birth})

    Company_info = wait.until(EC.visibility_of_all_elements_located((By.XPATH, "(//  div[@class='infoWrapper--O_L9E'])[2]")))
    for element in Company_info:
        elements_details.append(element)
    print(elements_details)

我得到以下结果:

element.WebElement (session="43b60aaa3129f97d15914647fa4f1b8e", element="f.E7FC5A3BF156624EFE99B26EC569C38C.d.C9A57DDAB00D61F5D167966E0AC0616F.e.153")>}, {'brith ':

elements_details.append({"genes":genes})
elements_details.append({"snake": snake})
elements_details.append({"price": price})
elements_details.append({"brith": birth})

将上面的行更改为:

elements_details.append({"genes":genes.text})
elements_details.append({"snake": snake.text})
elements_details.append({"price": price.text})
elements_details.append({"brith": birth.text})
python selenium-webdriver web-scraping
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.