ひろこま Hack Log

プログラミングや機械学習などの知識を記録・共有します

【解決】Chrome + Selenium + Mac でコピペできない問題

f:id:twx:20190723164010p:plain
【解決】Chrome + Selenium + Mac でコピペできない問題

「コピペできない」問題

Seleniumを用いるとChromeやFirefox上の操作を自動化することができます。

しかし、Mac上のChromeでコピー&ペーストを行うつもりで Command + C, Command + V を実行してもうまく動かないという不具合があります。 私は、このバグ(?)に長らく苦しめられてきました…  一時的な解決策としては、ChromeではなくFirefoxを使うとか、MacではなくWindowsを使うとかで回避できますが、できればMacのChromeでコピペしたい!!

解決策

以下のページに解決策を発見しました。

Performing a copy and paste with Selenium 2 - Stack Overflow

要約すると、Macでは Command + C, Command + V の他にも、コピー&ペーストを発動させるキーがあるらしく、それを使えば良いよ!とのこと。

動かない例

from selenium.webdriver.common.keys import Keys
element.send_keys(Keys.COMMAND, 'c')
element.send_keys(Keys.COMMAND, 'v')

動く例

from selenium.webdriver.common.keys import Keys
element.send_keys(Keys.CONTROL, Keys.INSERT) # コピー
element.send_keys(Keys.SHIFT, Keys.INSERT) # ペースト

以上、Chrome + Selenium + Mac でコピペする方法をまとめてみました。良い記事だと思っていただいた方は、以下の「★+」ボタンのクリック、SNSでのシェア、「読者になる」ボタンのクリックをお願いします。

Koma Hirokazu 's Hacklog ―― Copyright © 2018 Koma Hirokazu