首页 > 解决方案 > 将打印输出写入 csv selenium

问题描述

我对 selenium 和 python 完全陌生,当我用 pandas 写入 CSV 时,我不知道该怎么做。基本上我正在尝试编写元素的链接属性,但我不知道如何正确包装它们。

这是代码

elem = driver.find_elements_by_xpath('//*[contains(@href, "/c/")]')

for link in elem:
    print(link.get_attribute('href'))

df = pd.DataFrame(columns=['url'])
df = pd.concat([df, pd.DataFrame(**what should i write here to get the href values?**, columns=['url'])], sort=False)
df.to_csv('C:/Users/Admin/Desktop/urls.csv', index=False)

我正在寻找的是将打印出来的 URL 保存到 csv,但我不知道如何找到它们。任何帮助,将不胜感激

标签: pythonpandasseleniumcsv

解决方案


有几种方法可以做到这一点。由于您的代码已经设置为创建数据框,您只需创建所有 url 的列表,然后在创建数据框时使用该列表。

下面的调整

elem = driver.find_elements_by_xpath('//*[contains(@href, "/c/")]')

#create empty list
url_list = []
for link in elem:
    print(link.get_attribute('href'))
    ##append link to list
    url_list.append(link.get_attribute('href'))

# now that you have the list you can just create your dataframe

df = pd.DataFrame(url_list,columns=['url'])
df.to_csv('C:/Users/Admin/Desktop/urls.csv', index=False)

推荐阅读