Selenium WebDriver逐行将数据写入CSV

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium WebDriver逐行将数据写入CSV相关的知识,希望对你有一定的参考价值。

我正在尝试使用Selenium在CSV文件中写入一些数据

在运行代码时

labels = browser.find_elements_by_xpath('.//a[@class="question-hyperlink"]')
text = [x.text for x in labels]
data.append(text)
print(text)
with open('output.csv', 'wb') as data_file:
    writer = csv.writer(data_file)
    writer.writerows(data)

我得到的输出是

data1  data2  data3  data4  data5
data6  data7  data8  data9  data10
data11 data12 data13 data14 data15

但我想写下面的数据

data1
data2
data3
data4
.....
data15

我怎样才能做到这一点? 请帮我。

答案

使用writer = csv.writer(data_file, delimiter=' ')分隔符

labels = browser.find_elements_by_xpath('.//a[@class="question-hyperlink"]')
text = [x.text for x in labels]
data.append(text)
print(text)
with open('output.csv', 'wb') as data_file:
    writer = csv.writer(data_file, delimiter='
')
    writer.writerows(data)
另一答案

data.append(text)改为data.extend(text)。通过这种方式,您将拥有一个平面列表data而不是列表列表。

为了使每行具有单个值,您需要使data中的每个项目成为单个列表

 writer.writerows(map(lambda x: [x], data))

以上是关于Selenium WebDriver逐行将数据写入CSV的主要内容,如果未能解决你的问题,请参考以下文章

逐行将字典写入纺织品[重复]

如何使用 C# 从 SQL Server 数据库中逐行将数据检索到 datagridview 中

逐行写入文件

selenium + python自动化测试unittest框架学习webdriver元素操作

selenium 2和watir webdriver中怎么在启动浏览器时保留cookie

java+selenium webdriver怎么实现数据参数化