【问题标题】:Download pdf in chrome with Selenium python使用 Selenium python 在 chrome 中下载 pdf
【发布时间】:2019-04-12 03:34:55
【问题描述】:

我正在尝试使用 selenium 和 python 在 chrome 上下载 pdf。 一种方法是打开 chrome 中的设置。

我尝试在我的代码开头使用 selenium 来做到这一点

driver.get('chrome://settings/content/pdfDocuments')
time.sleep(5)
driver.find_element_by_id('bar').click()

但总是出错。如果我尝试与此窗口中的所有内容进行交互,则相同

Traceback (most recent call last):
File "test_selenium.py", line 37, in <module>
driver.find_element_by_id('knob').click()
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 360, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
'value': value})['value']
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"bar"}
(Session info: chrome=70.0.3538.77)
(Driver info: chromedriver=2.40,platform=Linux 4.18.10-100.fc27.x86_64 x86_64)

感谢您的帮助

【问题讨论】:

标签: python selenium google-chrome pdf download


【解决方案1】:

使用以下命令从 npm 安装 chrome-printtopdf

pip install chrome-printtopdf

使用以下代码下载 pdf 文件。

from chrome_printtopdf import get_pdf_with_chrome_sync

pdf_file = get_pdf_with_chrome_sync('http://example.org',
chrome_binary='/path/to/chrome-bin')

with open('example.org.pdf', 'wb') as f:
f.write(pdf_file.read())

下面会提到命令行使用

python -m chrome_printtopdf /path/to/chrome-bin http://example.org/ out.pdf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-28
    • 2022-09-27
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多