【问题标题】:Cannot Iterate Web element('list' object has no attribute 'text')无法迭代 Web 元素(“列表”对象没有属性“文本”)
【发布时间】:2022-02-24 08:28:48
【问题描述】:

当我尝试从网页迭代所有产品时出现以下错误,谁能告诉我我做错了什么?

Error : AttributeError: 'list' object has no attribute 'text'

下面是我的代码:

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.keys import Keys

import pandas as pd
from bs4 import BeautifulSoup
import requests as r


import time

from selenium.webdriver.support.ui import Select

PATH="chromedriver.exe"


driver=webdriver.Chrome(PATH)

url1="https://valuebuds.com/pages/search-results-page"

driver.get(url1)

Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select#year_field")))).select_by_visible_text('1999')

driver.find_element_by_class_name("agree").click()

print("***CODE IS WORKING***")

products=driver.find_elements_by_id("snize-search-results-grid-mode")


for i in products:

   title=i.find_elements_by_class_name("snize-title").text

   print(title)

    
driver.quit()

任何帮助将不胜感激。谢谢

【问题讨论】:

标签: python selenium selenium-webdriver


【解决方案1】:

而不是这个:

products=driver.find_elements_by_id("snize-search-results-grid-mode")

for i in products:

title=i.find_elements_by_class_name("snize-title").text

print(title)

试试这个:

products = driver.find_elements_by_class_name("snize-title")
print(len(products))
title = [prod.text for prod in products]  # I kept in a list, but it's your choice, you can directly print the title for each with below lines:
# for title in products:
# print(title.text)
print(title)

snize-title 有 15 个项目,可直接访问。

这是输出:

CODE IS WORKING
15
['HONEYSTICK BEEMASTER 510 BATTERY MULTI KIT', 'CLIPPER LIGHTER MICRO - RAW CLASSIC/BLACK', 'DABWARE PLATINUM DIAMOND SILICONE SPOON PIPE', 'DABWARE PLATINUM CLASSIC STYLE SILICONE SPOON PIPE', 'KARMA GLASS 9" SKINNY BEAKER GLASS BONG', "STONESMITHS' SLASH REPLACEMENT CHAMBER", 'MOOSE LABS MOUTHPEACE FILTER FULL KIT', 'PIECEMAKER KONJURER SILICONE SHERLOCK PIPE', 'KING PALM MINI PRE ROLL POUCH - 5 PACK', 'PURPLE POWER ULTRA INSTANT CLEANING FORMULA - 8OZ', 'BOLD MAC1 (H) DRIED - 3.5G', 'BOLD THE VISION (H) DRIED - 3.5G', 'CRAFTPORT PINK LEMONADE (IND) PRE-ROLL - 0.5G X 2', 'POOLBOY CHEM DAWG (IND) PRE-ROLL - 0.35G X 5', 'MARLEY NATURAL BLACK MASTER KUSH (IND) DRIED - 3.5G']

Process finished with exit code 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 2019-03-19
    相关资源
    最近更新 更多