Добрый день.
Использую Windows10, Python3.10
Имееться программа на Python с использованием Selenium которая должна заходить на сайт, найти нужные элементы и после клика по каждому элементу запускать цикл.
Пытаюсь реализовать с помощью двух циклов, но встроенный цикл с CSV словарем срабатывает только один раз.
Подскажите пожалуйста в чем может быть проблема?
Использую Windows10, Python3.10
Имееться программа на Python с использованием Selenium которая должна заходить на сайт, найти нужные элементы и после клика по каждому элементу запускать цикл.
Пытаюсь реализовать с помощью двух циклов, но встроенный цикл с CSV словарем срабатывает только один раз.
Подскажите пожалуйста в чем может быть проблема?
Python:
import time
from tkinter import filedialog
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
import os
import csv
filepath=filedialog.askopenfilename()
openfile=open(filepath)
reader = csv.DictReader(openfile)
driver = webdriver.Firefox()
# Сайт на который заходим (сайт с авторизацией - в свободый доступ не могу дать):
driver.get('https://####')
wait=WebDriverWait(driver, 30)
## Нахождение всех элементов на сайте (значение XPATH скрыто):
imagePreviews=driver.find_elements(By.XPATH, "#####")
# Цикл для клика по каждому элементу и для каждого элемента необходимо выполнить другой цикл. В дальнейшем с помощью условия планируеться с CSV словаря получить нужную строку перебрав все строки,
# но сейчас вижу, что внутренний цикл срабатывает только один раз, а надо чтобы при каждом клике цикл срабатывал полностью
for i in imagePreviews:
wait.until(EC.presence_of_element_located((By.XPATH, "#####")))
i.click()
for row in reader:
print(row)