Python Selenium で表示画面を全選択してコピーする
Seleniumを使ってCtrl + AとCtrl + Cのようなキー操作を模倣して、ブラウザの全ページの内容をコピーするには、ActionChainsクラスを利用できます。以下に、その方法を示します。
必要なライブラリをインストール
今回紹介するコードでは、ブラウザの表示内容をクリップボードにコピーし、その後その内容を取得して表示します。clipboardモジュールは、クリップボードの内容を取得するために使用されます。そのため、clipboardもインストールする必要があります。
pip install selenium
pip install clipboard
コード
そして、以下のコードでCtrl + AとCtrl + Cの操作を模倣します。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
url = 'https://www.example.com/'
# ChromeのWebDriverオブジェクトを作成
driver = webdriver.Chrome()
# URLにアクセス
driver.get(url)
# すべてのコンテンツを選択してコピー
action = ActionChains(driver)
action.key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform() # Ctrl + A
time.sleep(1) # 一時停止を入れることで、操作の間に少し待機する
action.key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() # Ctrl + C
# クリップボードからコピーした内容を取得
import clipboard
copied_content = clipboard.paste()
print(copied_content)
# ブラウザを閉じる
driver.quit()
ただし、この方法にはいくつかの制約があります。ブラウザやページの内容によっては、Ctrl + AやCtrl + Cの操作が期待通りに機能しないことがあります。そのため、特定の環境やターゲットページでの動作を確認することが重要です。
スクレイピングの理解を深めたい方はこちらの書籍がおすすめです。
この記事が気に入ったらサポートをしてみませんか?