MENU

【コピペ可】pythonで文字をコピー&ペースト(クリップボード操作)

こんにちは!この記事ではpythonでクリップボードを操作してコピー&ペーストを自動化する方法初心者の方にも分かりやすく解説していきます。具体的には下記の内容を紹介します。

  • pythonで文字のコピー&ペースト
  • 簡単なwebページへの自動ログイン

クリップボード操作を自動化する事は、pythonで日頃の面倒な作業を自動化するための第一歩です。頑張って学んでいきましょう!

目次

pyperclipを使ったクリップボード操作

pyperclipのインストール

初めてpyperclipを使用する場合は下記のコマンドでインストールしましょう。

pip install pyperclip

パッケージのインポート

インストールしたpyperclipを使うためにパッケージをインポートしましょう。

import pyperclip

クリップボード操作

pyperclipでは以下の機能が提供されています。なお、pyperclipが操作できるクリップボードの内容は文字列のみに対応しています。

  • pyperclip.copy()
    • 引数に文字列を渡すとクリップボードにコピーされる
  • pyperclip.paste()
    • 現在のクリップボードの値を返す
  • pyperclip.waitForPaste()
    • 何も入っていない状態のクリップボードに値が入った時に値を返す
  • pyperclip.waitForNewPaste()
    • クリップボードの中身が変化すると新しい値を返す

ctrl-cやctrl-vなどのコピペ動作の実現

コピー (ctrl-c)

コピーは単純にpyperclip.copy()を使えば実現できます。例えば、プログラム中の文字列をクリップボードへ格納したいときは下記のようなコードになります。

import pyperclip

my_text = 'クリップボードに入れたい文字列'
pyperclip.copy(my_text) # クリップボードに文字列を格納

# 実行後にctrl-vしたら「クリップボードに入れたい文字列」と文字を貼り付けできる

ペースト (ctrl-v)

2022年7月現在、ctrl-vに対応する機能はpyperclipにありません。ですので、pyautoguiというマウスやキーボードを操作するパッケージを利用してctrl-vのキー入力をpythonから実行しましょう。

import pyautogui

# ctrlとvの同時押しを実行
pyautogui.hotkey('ctrl', 'v')

# 実行後、クリップボードの中身が貼り付けられる

pyautoguiについては別の記事で詳しく説明しているので、良かったら参考にしてみてください!

簡単なwebページへの自動ログイン

これまでに学んだ知識を使って簡単なwebページへ自動でログインするプログラムを動かしてみましょう!

実行結果

コピペ動作をpythonで再現することでwebページへのログインを自動化

コード

import pyautogui
import pyperclip
import time

def main():
    # sleep時間
    sleep_time = 0.5

    # login情報
    login_id = 'my_login_id'
    login_pw = 'my_login_pw'

    # loginフォームにカーソルを合わせる
    pyautogui.press('tab')

    # loginフォームにIDを入力
    pyperclip.copy(login_id)
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(sleep_time)
    
    # カーソル移動
    pyautogui.press('tab')
    time.sleep(sleep_time)

    # loginフォームにパスワードを入力
    pyperclip.copy(login_pw)
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(sleep_time)

    # カーソル移動
    pyautogui.press('tab')
    time.sleep(sleep_time)

    # ログインボタン上でenterキーを入力
    pyautogui.press('enter')

if __name__ == '__main__':
    main()

まとめ

今回はpythonでクリップボードを操作する方法を紹介しました。クリップボードとキーボード操作をpythonで扱うことでテキストのコピー&ペーストを自動化することができましたね。クリップボード内のテキストだけでなく画像も扱いたい場合はPillowの導入を検討してみてください!

参考サイト

Pyperclip公式ドキュメント

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次
閉じる