Как скрепить веб -сайт, на котором есть <span class = "ellipsis">… </span> между номером в динамической таблице с SellenPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как скрепить веб -сайт, на котором есть <span class = "ellipsis">… </span> между номером в динамической таблице с Sellen

Сообщение Anonymous »

Я пытаюсь соскрести данные о дивидендах для акции «Vale» на сайте https://investidor10.com.br/acoes/vale3/. Таблица дивидендов имеет 8 кнопок (1, 2, 3, ..., 8) и «Далее» и «предыдущие» кнопки. Мой скрипт может соскрести данные из первых 5 таблиц, но при щелчке кнопки с помощью IDX = "5", он прыгает на IDX = "8", заставляя ее пропустить данные из 6 -го, 7 -го и 8 -го таблиц. Использование: < /p>

Код: Выделить всё

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from time import sleep

def iterar_botao():
botoes = driver.find_elements(By.CSS_SELECTOR, "a[data-dt-idx]")
qtd_botoes = len(botoes)

for i in range(qtd_botoes):
clicar_botao(str(i+1))

def clicar_botao(idx):
try:
localizador = (By.CSS_SELECTOR, f'a[data-dt-idx="{idx}"]')
botao = WebDriverWait(driver, 10).until(EC.presence_of_element_located(localizador))

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
sleep(1)
driver.execute_script("arguments[0].scrollIntoView({behavior:'instant', block:'center' });", botao)
driver.execute_script("arguments[0].click();", botao)

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "table-dividends-history")))
pegar_tabelas()  # Function to scrape the tables (not shown here)
except Exception as e:
print(f"Failed to execute function: {e}")
Failed to execute function: Message: RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:552:5
Я попытался добавить ожидания и спит, чтобы убедиться, что элементы правильно загружаются.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... tween-numb
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»