2016-11-29 1 views
0

웹 사이트 : http://mbct.com/wp-content/uploads/Eisendrath-Jan-2016.pdfselenium python webdriver를 사용하여 PDF 파일을 다운로드하는 방법은 무엇입니까?

오류 : 요소

을 찾을 수없는 어쩌면 내가 뭔가를하지 않는 경우 다운로드 아이콘이 사라집니다 때문입니까? 대답 코멘트에서 전송 된

# coding=utf-8 
from selenium import webdriver 
from selenium.webdriver.common.action_chains import ActionChains 
from selenium.webdriver.common.keys import Keys 
import time 
import os 
site = 'http://mbct.com/wp-content/uploads/Eisendrath-Jan-2016.pdf' 
br = webdriver.Chrome() 
br.get(site) 
br.find_element_by_xpath('//*[@id="icon"]').click() 
+0

PDF에서 XML 요소를 찾으려고합니다. PDF는 HTML과 달리 XML과 겹치지 않습니다. 브라우저에서 PDF를 방문하면 표시되는 다운로드 아이콘은 웹 페이지의 일부가 아닙니다. –

+0

PDF 파일을 다운로드하는 것이 목표라면 ... 원하는대로 URL을 다운로드하면됩니다. 웹 드라이브 또는 파이썬을 사용할 필요가 없습니다. , 쉘 스크립트에서 컬 (curl)로로드하십시오. 어떤 이유로 든 파이썬을 사용하고 싶다면,'urllib.request' (파이썬 3) 또는'urllib2' (파이썬 2)가 그것을 할 수 있습니다. –

답변

0

:

당신은 PDF에서 XML 요소를 찾기 위해 노력을 한 것으로 나타났습니다

내 코드입니다. HTML과 달리 PDF는 XML과 겹치지 않으므로 작동하지 않습니다.

브라우저에서 PDF를 방문하면 나타나는 다운로드 아이콘은 웹 페이지의 일부가 아니므로 PDF가 XML 인 경우에도 작동하지 않습니다. 또한 하나 이상의 아이콘이있는 경우가 있습니다.이 경우 잘못된 물건을 클릭 할 가능성이 있으며 클릭 할 수없는 경우도 있습니다 (다운로드 버튼이있는 PDF 이외의 항목에이 아이콘을 사용하는 경우 실제 웹 페이지).

웹 사이트에서 PDF를 다운로드하려면 webdriver (또는 모든 Python)를 사용할 필요가 없습니다. 유닉스에 있다면 셸 스크립트에서 컬 (curl)로로드하십시오. 아마 간단한 Windows 동등한 것이 있을지 모르지만 나는 그것을 모른다. 어떤 이유로 든 파이썬을 사용하고 싶다면 urllib.request (파이썬 3)이나 urllib2 (파이썬 2)을 사용할 수 있습니다.

또는 정말로 웹 사이트 일 경우 자동 프로그램을 실행할 필요가 없습니다. 링크를 마우스 오른쪽 버튼으로 클릭하고 대부분의 브라우저에서 "다른 이름으로 링크 저장 ..."을 선택하십시오.

관련 문제