Я создал скрипт, который извлекает данные из файла csv ( CSV FILE ) и выполняет следующие задачи: 1- Открыть браузер 2 - Открыть новую вкладку 3 - Найти ссылку (первая строка) 4- Поиск веб-сайта (первый ряд). 5- Закройте браузер. Затем повторите все задачи, приведенные ниже, но со ссылкой и веб-сайтом из второго ряда ... Мой вопрос: возможно ли сделать код для запустить 2 строки на 2 строки (или больше) вместо строки за строкой?
import os
import time
from pynput import mouse, keyboard
import webbrowser
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import pyautogui
import csv
keyboard = keyboard.Controller()
mouse = mouse.Controller()
opt = Options()
opt.add_argument("--disable-infobars")
opt.add_argument("start-maximized")
# Pass the argument 1 to allow and 2 to block
opt.add_experimental_option("prefs", {
"profile.default_content_setting_values.media_stream_mic": 2,
"profile.default_content_setting_values.media_stream_camera": 2,
"profile.default_content_setting_values.geolocation": 2,
"profile.default_content_setting_values.notifications": 2
})
executable_path = r'C:\Users\Salma\Desktop\Python\chromedriver'
os.environ["webdriver.chrome.driver"] = executable_path
global driver
driver = webdriver.Chrome(r'C:\Users\Salma\Desktop\Python\chromedriver', options=opt)
def seasonbox(website, link):
# open new tab
time.sleep(1)
pyautogui.hotkey('ctrl','t')
# point tab
driver.switch_to.window(driver.window_handles[1])
# browse to link
time.sleep(3)
driver.get(link)
# Search bar
time.sleep(2)
driver.find_element_by_css_selector('#tsf > div:nth-child(2) > div.A8SBwf > div.RNNXgb > div > div.a4bIc'
' > input').send_keys(website)
# Press enter
time.sleep(2)
pyautogui.press('enter')
time.sleep(3)
driver.close()
with open(r'C:\Users\Salma\Desktop\scr\data.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
for row in csv_reader:
if line_count == 0:
# print(f'Column names are {", ".join(row)}')
line_count += 1
else:
try:
seasonbox(website=row[0], link=row[1])
line_count += 1
except Exception as e:
print(e)
line_count += 1
driver.close()
with open(r'C:\Users\Salma\Desktop\scr\err.log', 'a') as err_file:
err_file.write(
'{},{},{},{},{},{},{},{},{}\n\n\n\n\n\n'.format(row[0], row[1]))
time.sleep(5)
# close all tab