前提・実現したいこと
目的:WEBサイトの画面キャプチャを行い、マウスポインターで文字をドラッグして文字コピーができるPDFとして出力する一連の作業を自動化したい。(例:ChromeのWEBサイト文字認識PDF出力の手動操作の自動化をしたい。)
###実装内容
python
1from selenium import webdriver 2from selenium.webdriver.chrome.options import Options 3import shutil 4import datetime 5import os 6import img2pdf 7from PIL import Image 8 9def method_desu(target): 10 url = 'https://www.google.com/search?q=' + '"' + target + '"' + '&aqs=chrome..69i57.2081j0j8&sourceid=chrome&ie=UTF-8' 11 options = Options() 12 options.add_argument('--headless') 13 browser = webdriver.Chrome(chrome_options=options) 14 browser.implicitly_wait(3) 15 browser.get(url) 16 page_width = browser.execute_script('return document.body.scrollWidth') 17 page_height = browser.execute_script('return document.body.scrollHeight') 18 browser.set_window_size(page_width, page_height) 19 date = datetime.datetime.now() 20 that_name = target + "_" + '.jpeg' 21 browser.save_screenshot(that_name) 22 browser.quit() 23 image2image.super_method('image2image.py',"C:\Users\user\AppData\Local\Continuum\anaconda3\envs\training_python_37",'.jpeg',".pdf") 24 return that_name 25
発生している問題・エラーメッセージ
画面キャプチャはできるが、マウスポインターで文字をドラッグして文字コピーができるPDFとして出力はできない。あくまで画像PDF。
試したこと
手動で『chromeの印刷標準機能でPDF出力を選択すると、目当てのものがでる』が、それを自動化できないか模索。
~問題点~
PDF化したい画面まで遷移して、pywinauto を使って、pywinauto.keyboard.SendKeys("^p") とすると、Chromeの印刷ダイアログが出ます(URLは Chrome://print/)が、javascriptになっているので、コントロールが効かない
~~~~~
他のアプローチ方法もしくは上のやり方の延長線上でなにかアドバイス頂けないでしょうか。
よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
win10
Anaconda3
python3.7
あなたの回答
tips
プレビュー