Не удается получить все ссылки в формате PDF из таблицы с веб-страницы.

1

Я написал скрипт на python в сочетании с селеном для очистки различных pdf ссылок, сгенерированных при нажатии на разные номера, как в 110015710, 110015670 т.д., Расположенных в таблице на веб-странице.

Ссылка на сайт

Мой скрипт может щелкать по этим ссылкам, открывать pdf файлы, но анализировать только 5 из них.

Как я могу получить их все?

Я пробовал до сих пор:

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

link = "replace_with_above_link"

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
driver.get(link)

[driver.execute_script("arguments[0].click();",item) for item in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"tr.Iec")))]
for elem in wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,".IecAttachments li a[href$='.pdf']"))):
    print(elem.get_attribute("href"))
driver.quit() 
Теги:
python-3.x
web-scraping
selenium
selenium-webdriver

1 ответ

0

когда вы щелкаете по элементу, который будет выполнять XHR для запроса ссылок PDF, добавляйте задержку после каждого клика.

for item in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"tr.Iec"))):
    driver.execute_script("arguments[0].click();",item)
    time.sleep(1)
  • 0
    Можно ли использовать явное ожидание вместо жестко заданной задержки в таких случаях @ewwink?
  • 0
    да, вы можете подождать, пока элемент tr.IecExtended ul , этот элемент является следующим родственным элементом для tr.Iec

Ещё вопросы

Сообщество Overcoder
Наверх
Меню