В настоящее время я пытаюсь перебрать поток кликабельных элементов и нажимать их по одному, а также прокручивать вниз, чтобы получить новые элементы в диапазоне просмотра. Проблема в том, что я щелкаю элементы, основываясь на длинеsence_of_all_elements_located (которую я назначаю переменной с именем elem). При вызове этой функции размер элемента продолжает увеличиваться до определенной точки (в большинстве случаев около 60), а затем начинает немного уменьшаться, а затем продолжает увеличиваться в диапазоне от 40 до 60 даже при загрузке нового содержимого. Проблема в том, что я не могу щелкнуть по каждому отдельному элементу, потому что в момент изменения размера полученной переменной счетчик больше не указывает на следующий элемент, а на какой-то элемент в конце вновь загруженных элементов. Таким образом, я пропускаю много элементов. Я пытался объяснить это как можно лучше, если у вас есть какие-либо вопросы, просто спросите. Заранее спасибо.
Я пытался настроить переменную счетчика для нового изменения размера, но, поскольку изменение размера продолжает изменяться, я не могу исправить это таким образом
Вот код, который я использую:
# iterate through displayed feed
#load all so far reachable elements once
self.elem = WebDriverWait(self.driver, 10).until(
EC.presence_of_all_elements_located((By.CSS_SELECTOR, "classnamehere")))
print("elem1 length: " + str(len(self.elem)))
if self.scroll_position < len(self.elem) - 1:
self.scroll_position += 1
else:
pass
#scroll to picture we want to click on
actions = ActionChains(self.driver)
if self.scroll_position < len(self.elem):
actions.move_to_element(self.elem[self.scroll_position]).perform()
self.elem[self.scroll_position].click()