2016-11-21 29 views
0

我正在嘗試使用Selenium Webdriver for Chrome下載PDF(http://judis.nic.in/supremecourt/imgs1.aspx?filename=43215)。使用Selenium,Python訪問PDF下載按鈕

「下載」按鈕出現在頁面頂部的動態功能區中,當其懸停時出現。

這是PDF在鼠標懸停在其上時與功能區外觀相似的內容。

PDF without the hover-over ribbon

我打算通過我的Python腳本這個下載按鈕點擊(旁邊打印符號的向下箭頭符號)。

預先感謝您。

回答

0

你不需要硒來下載它。你可以使用urllib2

import urllib2 

def download_file(pdf_url): 
    response = urllib2.urlopen(pdf_url) 
    file = open("doc.pdf", 'w') 
    file.write(response.read()) 
    file.close() 

def main(): 
    download_file("http://judis.nic.in/supremecourt/imgs1.aspx?filename=43215") 

if __name__ == "__main__": 
    main() 
+0

謝謝。這工作。還有什麼方法可以用文本文件(.txt)而不是PDF(.pdf)寫回應嗎? –

+0

它解決了您的問題,請將其標記爲答案。不幸的是,這不會將其轉換爲文本文件。你可以使用這樣的解決方案:http://stackoverflow.com/questions/25665/python-module-for-converting-pdf-to-text – Ryan

+0

如果鏈接受到登錄名和密碼的保護,該怎麼辦? – StackUP

0

的PDF基本上通過它可以查看PDF文件瀏覽器的內置擴展打開。由於HTML駐留在擴展中,因此Selenium基本上無法訪問它的HTML。

您可以使用requests庫簡單下載PDF。

import requests 

url = "http://judis.nic.in/supremecourt/imgs1.aspx?filename=43215" 
r = requests.get(url, stream=True) 

with open("THE.pdf", "wb") as fd: 
    for ch in r.iter_content(): 
     fd.write(ch) 
+0

如果鏈接僅適用於活動會話,該怎麼辦? – StackUP