Python Selenium如何从CSV读取URL并转纯字符串供driver.get使用
问题原因
csv.reader逐行读取时,每一行的返回值是由该行所有列元素组成的列表。你的CSV文件每行仅存储1个URL,因此拿到的row是长度为1的单元素列表,直接打印整个列表就会输出带方括号、引号的列表格式。
修改方法
取单元素列表的第0位,就能得到纯字符串格式的URL,可直接传入driver.get()使用。修改后的代码如下:
from csv import reader with open('products_url.csv', 'r') as read_obj: csv_reader = reader(read_obj) header = next(csv_reader) if header is not None: for row in csv_reader: # 跳过空行防止索引报错 if not row: continue # 取每行第一列的内容,去除首尾多余空白字符 url = row[0].strip() print(url) # 直接传入Selenium方法即可访问 # driver.get(url)
优化点说明
- 增加
strip()处理,清除URL首尾可能附带的空格、换行符等不可见字符,避免页面访问异常 - 增加空行判断逻辑,兼容CSV文件末尾存在空行的情况,防止触发索引越界错误
- 将
header != None调整为Python编码规范推荐的header is not None写法
内容的提问来源于stack exchange,提问作者hawaj
相关产品推荐
相关产品推荐

