python - 无法从网页获取表格内的所有 pdf 链接

标签 python selenium selenium-webdriver web-scraping

我用 python 结合 selenium 编写了一个脚本,用于抓取点击不同数字时生成的不同 pdf 链接,如下所示在位于网页表格内的 110015710110015670 等中。

Site link

我的脚本可以点击这些链接,显示 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() 

最佳答案

当您单击该元素时,它将执行 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)

关于python - 无法从网页获取表格内的所有 pdf 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53900119/

相关文章:

python - HTML 网页抓取一个值

python - 使用 Selenium 导航分页

java - Selenium @test(dependsOnMethods)错误

java - 发生断言错误后 Chrome 不会退出

selenium - 失败 : sendKeysToActiveElement error while invoking sendKeys to ENTER and other keystrokes using ChromeDriver Chrome with Protractor

java - 在运行多个单元测试之前需要设置对象

python - 如何解决AttributeError : 'module' object has no attribute 'createBackgroundSubtractorMOG' in opencv?

python - 使用 RTLD_NOW 的 dlopen 导致崩溃

python - python 中的装饰器 - 需要解释

c# - Selenium webdriver c# 等待文本出现