Нужно собрать данные всех людей из поиска в одноклассника.
Код работает до тех пор, пока не появляется кнопка "Показать ещё"
Не получается пройти дальше этого места, для загрузки остальных людей. Как можно решить эту проблему?
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from bs4 import BeautifulSoup
driver = webdriver.Chrome("D:\chromedriver")
driver.get('https://www.ok.ru/dk?st.cmd=anonymMain')
def test_01():
field_email = driver.find_element_by_id('field_email')
field_email.send_keys('логин')
field_password = driver.find_element_by_id('field_password')
field_password.send_keys('пароль')
p = driver.find_element_by_class_name('mt-5x')
p.click()
driver.get('https://ok.ru/search?st.mode=Users&st.grmode=Groups&st.posted=set&st.query=' + 'Петров')
SCROLL_PAUSE_TIME = 3
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page
time.sleep(SCROLL_PAUSE_TIME)
# Calculate new scroll height and compare with last scroll height
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
time.sleep(2)
soup = BeautifulSoup(driver.page_source, "lxml")
divs = soup.findAll("div", {'class': 'gs_result_i_w'})
divs_number = soup.findAll("div", {'class': 'portlet_h_name_t'})
print(divs_number)
for div in divs:
div_title = div.find("div", {'class': 'ellip'})
link_text = div_title.find('').text
print('ФИО : ' + link_text)
test_01()