グラフをhtmlで作ることが多いのですが、いざ紙ベース資料(??)を作るときに手動でやるのは大変なので、seleniumで画面コピー(スクリーンショット)をやる話です。
以下の参考サイトそのままですが。
Python + Selenium で Chrome の自動操作を一通り - Qiita
from selenium import webdriver import chromedriver_binary import time driver = webdriver.Chrome() h_add = driver.execute_script("return window.outerHeight - window.innerHeight;") w_add = driver.execute_script("return window.outerWidth - window.innerWidth;") driver.get("test.html") # ここでサイズを調整 driver.set_window_size(1300 + w_add, 850 + h_add) # outerWidth, outerHeight を指定する time.sleep(2) #念の為 driver.save_screenshot('test.png') # 取得される画像サイズは innerWidth x innerHeight driver.quit()
私が愛用するgeoviews(参考:pythonによる可視化はHoloviews一択 - 趣味で計算流砂水理 )がpng出力の場合、タイルマップが入らないので、この方法を使ってhtmlからpngに変換すると使えます。
- chromedriverについて
computational-sediment-hyd.hatenablog.jp
- geoviewsについて