Python + Selenium. Не обновляется DOM после прокрутки страницы вниз
from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
import time
chromedriver = 'Google/chromedriver.exe'
options = webdriver.ChromeOptions()
# options.add_argument('headless') # для открытия headless-браузера
browser = webdriver.Chrome(executable_path=chromedriver, options=options)
browser.implicitly_wait(10) # seconds
browser.get('https://www.instagram.com/')
time.sleep(2)
login = browser.find_element_by_name('username')
password = browser.find_element_by_name('passsword')
login.send_keys(мое имя oт instagram)
password.send_keys(мой пароль от instagram)
enter_but = browser.find_element_by_xpath("//button[@type='submit']").click()
time.sleep(5)
browser.get("https://www.instagram.com/oleshev/")
lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
time.sleep(2)
match = False
while not match:
lastCount = lenOfPage
lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
time.sleep(5)
link = None
while not link:
try:
link = browser.find_element_by_xpath("//div[class='v1Nh3 kIKUG _bz0w']")
print('Yes!')
except NoSuchElementException:
time.sleep(2)
print('o No')
if lastCount == lenOfPage:
match = True
time.sleep(5)
requiredHtml = browser.page_source
time.sleep(10)
soup = BeautifulSoup(requiredHtml, "html.parser")
with open("instaParse.txt",'w', encoding='utf-8') as myfile:
myfile.write(str(soup))
Дело в том, что после прогрузки страницы вниз в DOM (в консоли разработчика) появляются новые элементы (новые посты с фото или видео, т.к. речь идет об instagram). В soup в конце скрипта выведено только 12 таких элементов, когда после прокрутки их должно быть гораздо больше. Должны появляться посты с class= v1Nh3 kIKUG _bz0w. Пытался в цикле их как-то получить, но генерируются только бесконечные "o No!"