Python, Selenium, scrol?
Есть функция которая вытаскивает ссылки из динамического сайта.
def pars_urls():
driver = webdriver.Chrome()
driver.get('https://**-**.com/Results')
sleep(2)
prev_height = 0
while True:
respons = driver.page_source
soup = BeautifulSoup(respons, 'lxml')
block = soup.find_all('a', target='_self')
with open('soup.txt', 'a') as read_html:
for url in block:
a = 'здесь url сайта' + url.get('href')
read_html.write(a+'\n')
driver.execute_script("window.scrollBy(0, 2000)")
sleep(2)
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == prev_height:
print('Достигли конца')
break
prev_height = new_height
вот тут
if new_height == prev_height:
print('Достигли конца')
break
prev_height = new_height
блок кода которая заканчивает скрол, вроде бы все логично. Узнаем высоту страницы, проверяем её первичной высотой если равно то заканчиваем скрол и закрываем браузер, если нет то перезаписываем первичный и по новой. Но оно не работает. Она скролит почти до конца, там остается еще немного не открывшихся ссылок и закрывает программу. Как вы говорите программе что она уже дошла до конца страницы, хватит её скролить завязывай.