【发布时间】:2021-05-21 11:34:09
【问题描述】:
我正在尝试从网页获取链接。网页使用 javascript 发送请求,然后服务器发送响应直接下载 PDF。这个新的 PDF 会自动下载到您的浏览器中。 我的第一种方法是使用 selenium 来获取信息:
# Path chromedriver & get url
path = "/Users/my_user/Desktop/chromedriver"
browser = webdriver.Chrome(path)
browser.get("https://www.holzwickede.de/amtsblatt/index.php")
# Banner click
ban = WebDriverWait(browser,15).until(EC.element_to_be_clickable((By.XPATH,"//a[@id='cc_btn_accept_all']"))).click()
#Element to get
elem = browser.find_element_by_xpath("//div[@id='content']/div[7]/table//form[@name='gazette_52430']/a[@href='#gazette_52430']")
elem.click()
print (browser.current_url)
结果是当前URL对应同一个网页,而请求是直接发给服务器的。
https://www.holzwickede.de/amtsblatt/index.php#gazette_52430
在这个不成功的结果之后,我尝试通过请求来获取它。
# Access requests via the `requests` attribute
for request in browser.requests: #It captures all the requessin chronologica order
if request.response.headers:
print(
request.path,
request.response.status_code,
request.response.headers,
request.body,
"/n"
)
结果仍然不是 PDF 来自的背后链接。 你们知道我能做什么吗? 提前致谢。
【问题讨论】:
标签: python selenium-webdriver web-scraping beautifulsoup scrapy