【发布时间】:2021-10-21 15:16:59
【问题描述】:
我有一个简单的问题,假设可以很容易地解决。 然而,我现在花了一些时间来提取如下所示的四行信息:
我首先尝试访问 <ul _ngcontent-xl-byg-c79="" class="short ng-star-inserted" 项目,然后循环遍历 <li _ngcontent-xl-byg-c79="" class="table-row ng-star-inserted"> 项目,以便将嵌入的信息存储在我的数据框中(列是“Mærke”、“Produkttype”、“Serie”和“Model ')。
我做错了什么?我的问题是四行具有相同的“类”名称,这在所有四个循环中都给了我相同的输出。
这是我的代码:
from selenium import webdriver
import pandas as pd
# Activate web browser: External control
browser = webdriver.Chrome(r'C:\Users\KristerJens\Downloads\chromedriver_win32\chromedriver')
# Get webpage
browser.get("https://www.xl-byg.dk/shop/knauf-insulation-ecobatt-murfilt-190-mm-2255993")
# Get information
brand= []
product= []
series=[]
model=[]
for i in browser.find_elements_by_xpath("//ul[@class='short ng-star-inserted']/li"):
for p in i.find_elements_by_xpath("//span[@class='attribute-name']"):
brand.append(i.find_elements_by_class_name('?').text)
product.append(i.find_elements_by_class_name('?').text)
series.append(i.find_elements_by_class_name('?').text)
model.append(i.find_elements_by_class_name('?').text)
df = pd.DataFrame()
df['brand'] = brand
df['product'] = product
df['series'] = series
df['model'] = model
非常感谢任何帮助!
【问题讨论】:
标签: python pandas selenium selenium-webdriver