#python #selenium #csv
#python #selenium #csv
Вопрос:
Я новичок в области автоматизации.У меня есть файл CSV с 50 строками, каждая строка содержит URL-адреса.Я пытаюсь захватить только определенные строки.
файл csv 1.www.google.com 2.www.facebook.com
import csv
from selenium import webdriver
chrome_path=(.......notepad chromedriver.exe')
driver=webdriver.Chrome(chrome_path)
driver.implicitly_wait(30)
driver.maximize_window()
with open('list.csv') as fb:
reader=csv.reader(fb)
rows=[r for r in reader]
driver.get(rows[1])
driver.quit()
ошибка:
selenium.common.exceptions.Исключение InvalidArgumentException: Сообщение: недопустимый аргумент: ‘url’ должен быть строкой
Ответ №1:
rows[1]
это будет строка, предположительно соответствующая второй строке вашего файла CSV.
Я полагаю, что ваше сообщение об ошибке поступает от вызова driver.get
, который сообщает вам, что ему нужна строка, а не ряд строк. Поэтому я бы попробовал выбрать любое поле в строке, содержащее URL. Я не уверен, как вы описываете свой CSV, но если это выглядит так:
1, google.com
2, facebook.com
тогда, вероятно, это должно выглядеть примерно так:
driver.get(rows[1][1])
Или, более читабельно,
number, url = rows[1]
driver.get(url)