首页 > 解决方案 > 在 selenium 和 python 的帮助下编写了一个网页抓取脚本,但没有从我的打印中得到任何输出?

问题描述

我试图通过使用 selenium 和 python 编写一些代码来抓取一家食品店。但是,我很难从我的代码中获得良好的输出。下面的代码显示了我到目前为止所做的事情,图片显示了输出。感觉这应该很容易,但我真的不明白为什么我没有得到任何输出.....

代码

import selenium
from selenium import webdriver as wb
import pandas as pd
import time


#Initilise
driver = wb.Chrome('chromedriver.exe')
driver.get('https://www.coop.se/butiker-erbjudanden/coop/coop-ladugardsangen-/')

print(driver.current_url)
print(driver.title)


products= driver.find_elements_by_class_name("Grid-cell u-size1of2 u-xsm-size1of2 u-md-size1of4 u-lg- 
size1of6 js-drOffer js-offerItem")
for product in products:
  header = product.find_elements_by_class_name("ItemTeaser-heading")
  print(header.text)

代码的输出

标签: pythonseleniumcss-selectorswebdriverwait

解决方案


要获取产品项目标题列表,请使用以下css selector.

诱导allItemheader()并等待presence_of_all_elements_located()

allItemheader=WebDriverWait(driver,10).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,".ItemTeaser h3.ItemTeaser-heading")))
for header in allItemheader:
     print("Item Header: " + header.get_attribute("innerHTML"))

您需要导入以下库。

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

控制台输出:

Item Header: Färska miniburgare
Item Header: Kaffe/Ekologiskt kaffe
Item Header: Krögarpytt
Item Header: Vaniljyoghurt
Item Header: Läsk
Item Header: Juice
Item Header: Smör
Item Header: Kycklingbröstfilé
Item Header: Fikabröd
Item Header: Färska miniburgare
Item Header: Soppa/Ekologisk soppa
Item Header: Rismellis
Item Header: Julstjärna
Item Header: Morötter i påse
Item Header: Sill i glas
Item Header: Amaryllis
Item Header: Vaniljyoghurt
Item Header: Kycklingfärs
Item Header: Smörgåspålägg
Item Header: Läsk
Item Header: Mjuk kaka
Item Header: Juice
Item Header: Ekologisk Fetaost
Item Header: Gurka
Item Header: Lindösalami Chili
Item Header: Smör
Item Header: Wienerkorv/Varmkorv med skinn
Item Header: Gräddost
Item Header: Ekologisk Tofu
Item Header: Julrevbensspjäll
Item Header: Lammytterfilé
Item Header: Plommontomater i ask
Item Header: Satsumas
Item Header: Champinjoner i ask
Item Header: Amerikanska Pannkakakor
Item Header: Benfri fläskkotlett
Item Header: Stekfläsk
Item Header: Ekologisk alkoholfri glögg
Item Header: Färskost
Item Header: Öl 3,5 %
Item Header: Röd grapefrukt
Item Header: Fläckborttagning
Item Header: Babyvåtservetter 64-pack
Item Header: Ekologiska kokosflingor
Item Header: Kaffe/Ekologiskt kaffe
Item Header: Müsli
Item Header: Ekologiska majssnacks
Item Header: Frukt-/bärrullar
Item Header: Cashew Havssalt
Item Header: Ljusstake Bea
Item Header: Julservetter
Item Header: Fiskpinnar 30-pack
Item Header: Julmugg

推荐阅读