Переход между страничками таблицы
Необходимо достать данные с сайта. Табличку можно переключать кнопкой, всего 6000+ страниц
import pandas as pd
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
import time
url = 'https://akasha.cv/leaderboards/1000004600/'
o = Options()
o.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=o)
while True:
driver.get(url)
time.sleep(7)
generated_html = driver.page_source
soup = BeautifulSoup(generated_html, 'html.parser')
tables = soup.find_all('table')
dfs = pd.read_html(str(tables))
print(dfs[-1])
try:
button = soup.find('button',{'class':'relative button-wrapper'})
button.click()
url = driver.current_url
except:
break
Не могу понять как достать кнопку и нажать на нее
Ответы (1 шт):
Автор решения: Teslajke
→ Ссылка
Метод click() не доступен для парсера BeautifulSoup. Вам следует делать это через selenium webdriver.
driver.find_element(By.CLASS_NAME, "relative button-wrapper").click()
Или:
button = driver.find_element(By.CLASS_NAME, "relative button-wrapper")
button.click()
Если несколько элементов имеют этот же класс, а Вам нужен конкретный - используйте другой метод выбора. Например By.XPATH

