ChatGPT×Python(Selenium)によるブラウザ操作自動化の注意点

  • URLをコピーしました!

ChatGPTの有効な使い方の1つは、プログラミング。
人気のあるプログラミング、Pythonでも使えます。
ブラウザ操作の事例を挙げてみました。

※M3 MacBookProとChatGPT by Nikon Z9+400mmF4.5

Pythonで、ブラウザ操作をする流れ

Pythonでブラウザを操作することもできます。

事前に必要なのは、
・Pythonをインストール
・Seleniumという機能(ライブラリと言います)をインストール
といったことです。

この動画を参考にしていただければ。

さらには、毎回次のようなことが必要です。

・Seleniumという機能(ライブラリと言います)を使う設定
・Google Chromeの場合、ウェブドライバーというものを準備し、読み込む
・ブラウザを操作(特定のページを開く、クリックするなど)

ウェブドライバーはこちらからダウンロードできます。
https://googlechromelabs.github.io/chrome-for-testing/

Chromeの[設定]でバージョンを確認して、そのバージョンに合うものをダウンロードし、保存しましょう。
その保存場所は、Pythonで使います。

これらを直接書くこともできますが、ChatGPTに聞くこともできます。
ただ、気をつけなければいけないことがあります。

ChatGPT×Pythonの注意点

Pythonもちょっとずつ変わってきていますが、ChatGPTもその変化には対応しています。
さらには、Seleniumも変化してきましたが、現状、通常のChatGPTは、その変化に対応していません。

通常のChatGPT(3.5)は、2022年1月時点の情報だからです。
どんなに丁寧な質問をしても、正しく動くPythonのコードは出てきません。
(Seleniumである限り)

情報として持っていないので。

現状の解決方法は、次のいずれか。

1 Seleniumのバージョンを3.14にする(4以上だと同様のことになります)
2 GPT4(有料版)を使う

1の場合、
Windowsならコマンドプロンプトへ
pip install selenium==3.14

Macならターミナルへ、
pip3 install selenium==3.14
と入れます。

バージョンを落としても特に問題はありません。

2の場合、有料版のChatGPTを使えば、新しいSeleniumに対応したものが出てきます。
つい先日、2023年4月前の情報に対応したからです。

現実的には、1の方法で、古いバージョンのSeleniumを入れておくほうがいいでしょう。
(そのうちChatGPTの通常版も情報が新しくなるかと
では、改めてまとめてみます。

ChatGPT×Pythonでブラウザ操作

ChatGPTを使ってPythonでブラウザ操作をするには、次のような準備をしましょう。

■Selenium(バージョン 3.14のインストール(Windowsはコマンドプロンプトへ pip install selenium==3.14 Macはターミナルへpip3 install selenium==3.14)

■ウェブドライバーのダウンロード、解凍、その場所のコピー
Windows→Win64をダウンロード、エクスプローラーで、[パスのコピー]
Mac→Mac ARMをダウンロード、Finderで右クリックしてopitonキーを押し[パスのコピー]
※コピーしたものは、ChatGPTで使います。

■ChatGPT(無料版)に次のように入力

Pythonで、
・Chromeでhttps://www.ex-it-blog.comにアクセス
・ウェブドライバーの場所は、/Applications/chromedriver
・ブラウザは閉じない
・ヘッドレストモード無効

※URL,ドライバーの場所は、それぞれ入れていただければ
ヘッドレストモード無効も入れておいたほうがいいです。

出てきたコードを、Python(IDLE)に貼り付けて実行しましょう。
さらに操作をする場合も書いておきます。
たとえば、マネーフォワードにログインする場合です。

こういったURLになります。
長い……。

Pythonで、このメールアドレス欄を指定するには、そこにつけられている名前を調べる必要があります。

Chromeでメールアドレス欄を右クリックし、[検証]をクリックしましょう。
(Windowsも同様の画面です)

そうすると、右側にこういった画面が出てきて、メールアドレス欄の名前がわかります。
(うまくいかないときは、再度、メールアドレス欄で右クリック→[検証]をしてみましょう)
ここで、右クリックして、[Copy Xpath]を選びます。

その結果をChatGPTで使うのです。

・//[@id=”mfid_user[email]”]にinfo@gmail.comを入力
というように。
//
[@id=”mfid_user[email]”]がメールアドレス欄につけられた名前です。

パスワード欄やログインボタンも同様にコピーしましょう。

結果的に次のようなものをChatGPTに入れます。


Pythonで、
・Chromeで
https://id.moneyforward.com/sign_in/password?client_id=8gQSNxOMhkM554G5OsbOAoesxrBbkdHfuESOGQ9uR1A&code_challenge=UKreCTL7MXaOd2vJFkO6WCjoB68Eot2XnNwf0TbI8I0&code_challenge_method=S256&nonce=67664074ec891d263936d49cb520acc1&redirect_uri=https%3A%2F%2Ferp.moneyforward.com%3A443%2Fusers%2Fauth%2Fmfid%2Fcallback&response_type=code&scope=openid+email&select_account=true&state=f071a4189d5bb5fb87bb8a32c252ca52
にアクセス

・ウェブドライバーの場所は、/Applications/chromedriver
・ブラウザは閉じない
・ヘッドレストモード無効
・//[@id=”mfid_user[email]”]にinfo@gmail.comを入力
・//
[@id=”submitto”]をクリック
・//[@id=”mfid_user[password]”]に11111111を入力
・//
[@id=”submitto”]をクリック


※ChatGPTに「〜してください」という文章は必要ありません。

出てきたコードはこちらです。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# ウェブドライバーの場所を指定してChromeを開く
driver = webdriver.Chrome(executable_path="/Applications/chromedriver")

# 指定したURLにアクセス
url = "https://id.moneyforward.com/sign_in/password?client_id=8gQSNxOMhkM554G5OsbOAoesxrBbkdHfuESOGQ9uR1A&code_challenge=UKreCTL7MXaOd2vJFkO6WCjoB68Eot2XnNwf0TbI8I0&code_challenge_method=S256&nonce=67664074ec891d263936d49cb520acc1&redirect_uri=https%3A%2F%2Ferp.moneyforward.com%3A443%2Fusers%2Fauth%2Fmfid%2Fcallback&response_type=code&scope=openid+email&select_account=true&state=f071a4189d5bb5fb87bb8a32c252ca52"
driver.get(url)

# ユーザー名を入力
username_input = driver.find_element_by_xpath('//*[@id="mfid_user[email]"]')
username_input.send_keys("info@gmail.com")

# ログインボタンをクリック
login_button = driver.find_element_by_xpath('//*[@id="submitto"]')
login_button.click()

# パスワードを入力
password_input = driver.find_element_by_xpath('//*[@id="mfid_user[password]"]')
password_input.send_keys("11111111")

# ログインボタンをクリック
login_button = driver.find_element_by_xpath('//*[@id="submitto"]')
login_button.click()

ChatGPTでプログラミングするには、
・質問の方法を工夫する
または、
・出てきた答えを修正して使う
という方法があります。
どちらも使っていきましょう。

プログラミングは、書いたほうが(入力したほうが)速い場合もありますが、このブラウザ操作は、ChatGPTに入れたほうが楽です。



■編集後記
昨日は、朝にZoom個別コンサルティング。
税理士業、効率化について。

その後11時から趣味のつくり方入門セミナーを開催。
早速実践されたという報告をいただきました。

午後は、娘とすみだ水族館→すみっコぐらしカフェ。
カフェはちと高いかなーと。
やりすぎな気も……。

1日1新Kindle『1日1新』
すみだ水族館 チンアナゴイベント
すみっコぐらしカフェ ロボット工場
カービィまん

■娘(6歳)日記→Kindle『娘日記』・ Kindle『娘日記Ⅱ』
学校が早く終わる日。
帰ってくるとき、ドアホンに出るのが一瞬遅れて、涙目で飛びついてきました。
2回はトライしてもらうように伝えましたが……。
着替えて宿題を持って、スカイツリーへ。
すみっコぐらしカフェを予約しており、その前にはついでに水族館も。
チンアナゴの帽子の塗り絵があり、えーーやらなくていいよといいつつ、やると楽しかったようで、ずっとかぶっていました。

  • URLをコピーしました!