Я написал скрипт на python в сочетании с селеном для анализа некоторых имен с веб-страницы, обрабатывая метод отложенной загрузки, для которого веб-страница отображает свое содержимое при каждой прокрутке вниз. Мой скрипт делает это без ошибок. Однако единственная проблема, которую я не могу решить, это убрать жестко заданную задержку из моего скрипта. Я действительно не могу найти ни малейшего представления о том, как я могу использовать explicit wait
вместо hardcoded delay
, сохраняя логику (примененную в скрипте), чтобы сделать ее более эффективной. Заранее спасибо за любую помощь.
Ссылка на веб-страницу
Это то, что я пробовал до сих пор (рабочий):
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("find_the_link_above")
last_len = len(driver.find_elements_by_class_name("listing__name--link"))
new_len = last_len
while True:
last_len = new_len
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(3) ##I wish to kick out this harcoded delay and use explicit wait in place
items = driver.find_elements_by_class_name("listing__name--link")
new_len = len(items)
if last_len == new_len:break
for item in items:
print(item.text)
driver.quit()