Selenium无法获取PDF链接的HTML

2024-04-20 05:38:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Python和selenium从这个website下载PDF幻灯片,但是我认为幻灯片的链接只有在加载脚本之后才会出现。我试着等待javascript加载,但仍然没有找到任何东西。有什么想法吗?你知道吗

import os, sys, time, random
import requests
from selenium import webdriver
from bs4 import BeautifulSoup

url = 'https://mila.umontreal.ca/en/cours/deep-learning-summer-school-2017/slides'

browser = webdriver.Chrome()
browser.get(url)
browser.implicitly_wait(3)
html = browser.page_source
links = browser.find_elements_by_class_name('flip-entry')
print(links)
browser.quit()

Tags: fromimportbrowser脚本urlpdfos链接
2条回答
from bs4 import BeautifulSoup
from selenium import webdriver

url = 'https://mila.umontreal.ca/en/cours/deep-learning-summer-school-2017/slides'
browser = webdriver.Chrome()
browser.get(url)
browser.switch_to_frame(browser.find_element_by_class_name('iframe-class'))
links = browser.find_elements_by_class_name('.flip-entry a')
for link in links:
    print(link.get_attribute("href"))
browser.quit()

原因是主页上没有链接。您正在IFrame中获取链接。这个IFrame指向https://drive.google.com/embeddedfolderview?hl=fr&id=0ByUKRdiCDK7-c0k1TWlLM1U1RXc#list

IFrame

您可以直接在代码中浏览该URL,而不是在主页上。或者你可以切换到画面

browser.switch_to_frame(browser.find_element_by_class_name("iframe-class"))
links = browser.find_elements_by_css_selector('.flip-entry a')

for link in links:
    print(link.get_attribute("href"))

相关问题 更多 >