舉個例子,像下圖這樣瀏覽器自帶的將網頁列印為pdf檔案之類的操作

可以在腳本中喚起該彈出的列印頁面嗎?或者在腳本中呼叫這項功能而不打開這個列印頁面也是可以的
主要原因就在于所需要的pdf檔案內容有格式要求,要求和瀏覽器ctrl+p進行列印匯出的pdf格式相同,所以不能單純用selenium自帶的網頁截圖方法。
uj5u.com熱心網友回復:
不知道selenium能不能直接喚起列印頁面,但是你可以在需要列印的時候自動輸入CTRL+p快捷鍵 就可以了。#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
import pyautogui
from selenium import webdriver
re = webdriver.Chrome()
re.get('https://www.baidu.com')
pyautogui.hotkey('ctrl', 'p')
time.sleep(2)
re.quit()
uj5u.com熱心網友回復:
方法1、使用 Wkhtmltopdf工具包可以直接把html轉為pdf方法2、使用selenium保存pdf
import json
from selenium import webdriver
driver = webdriver.Chrome()
resource = "/session/%s/chromium/send_command_and_get_result" % driver.session_id
url = driver.command_executor._url + resource
body = json.dumps({'cmd': 'Page.printToPDF', 'params': {
'landscape': False,
'displayHeaderFooter': False,
'printBackground': True,
'preferCSSPageSize': True,
}})
response = driver.command_executor._request('POST', url, body)
result = response.get('value')
with open('report.pdf', 'wb') as file:
file.write(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/269696.html
