Не видно html кода при парсинге

Изначально у меня не парсило данные из-за динамических данных. Как я понял это те данные которые обновлялись с помощью JS по этому через обычный bs4 у меня не парсило, но я все таки нашел решение с помощью библеотеки selenium и все у меня прекрасно работало до момента когда мне нужно было спарсить очередные данные введите сюда описание изображения

но когда я пытаюсь спарсить этот класс у меня не находит этот блок, зато находит другие блоки с этими классами, которые совсем в другом месте P.s Не знаю почему но класс который на скрине в блоке div поменялся если я не ошибаюсь он был "sc-dwFVlW gCZFpH" Код:

import random
import time

import requests, bs4
from selenium import webdriver
driver = webdriver.Chrome()
website = "https://pancakeswap.finance/farms"
driver.get(website)
driver.find_element_by_xpath('/html/body/div/div[1]/div/div[2]/div[2]/div[1]/div[2]/div[1]/div[2]/div[1]').click()
time.sleep(0.5)
driver.find_element_by_xpath('/html/body/div/div[1]/div/div[2]/div[2]/div[1]/div[2]/div[1]/div[2]/div[2]/ul/li[1]').click()
#for i in range(0,10):
#    driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
#    time.sleep(0.5)
#time.sleep(1)
html = driver.page_source
soup = bs4.BeautifulSoup(html, "html.parser")
name = soup.findAll('div', {'class': 'sc-gsDJrp dzNkWZ'})
earned = soup.findAll('span',{'class': 'sc-bSqbRM blOOUR'})
apr = soup.findAll('div', {'class': 'sc-dkQkSb gbobMG'})
liquidity = soup.findAll('div', {'class': 'sc-dwFVlW gCZFpH'})
print(liquidity)
names = []
earneds = []
aprs = []
liquiditys = []
for i in name:
    names.append(i.text)
for i in earned:
    earneds.append('Earned ' + i.text)
for i in apr:
    aprs.append('APR ' + i.text)
for i in liquidity:
    liquiditys.append('liquiditys ' + i.text)
driver.close()

Мне просто интересна сама причина, расскажите почему так пожалуйста, ну и если не трудно, буду благодарен коду


Ответы (0 шт):