自動化時代の幕開け
昨今は様々な自動化が世の中にあるわけです。
www.selenium.dev
引用:
https://www.selenium.dev/documentation/ja/
1990年代の改札は駅員が手作業で切符を切っている時代もありました。
まさに「ALWAYS 三丁目の夕日」です。
しかし今は多くのものが自動化され、医療から運転、様々のものが自動化されています。
その中にブラウザ操作の自動化があります。
www.selenium.dev
引用:
https://www.selenium.dev/documentation/ja/
Seleniumブラウザ自動化プロジェクトがあります。
W3C WebDriver仕様のインフラが使えるわけです。
有志貢献者の何千時間に及ぶ個々の時間を費やした事とソースコード自由に利用可能を誰にでも利用、楽しめ、そして改良できることによって実現しました。
とにかく自動化を使いこなしたいのには必要不可欠と言ってはないでしょうか?
まずselenium webdriver をインストール
pip install selenium
でまずはpythonパッケージを取りに行きましょう。
apt-get
homebrew
pip
コマンドで取りに行きます。
pip install selenium
を叩けば入ると思います。
次はpythonのコードを書きましょう
import time # スリープを使うために必要 from selenium import webdriver # Webブラウザを自動操作する(python -m pip install selenium) import chromedriver_binary # パスを通すためのコード driver = webdriver.Chrome() # Chromeを準備 driver.get('https://www.google.com/') # Googleを開く time.sleep(5) # 5秒間待機 driver.get('https://www.yahoo.co.jp/') # Yahooを開く time.sleep(5) # 5秒間待機 driver.quit()
コードを書いたら、「F5」でRunしましょう。
めっちゃ簡単ですね。
詰みポイントはブラウザの文字入力です。
まず前提として、プログラミングで文字を入力するのは単純に「a」をタイプしてではだめなんです。
重要なのは、どこに文字を入力するかプログラム上で指定しないといけないわけです。
文字を打ちたいけど、どこのフォームをしていするのは「Xpath」という概念です。
これがGoogleChrome上でどこのボックスに文字を入力するかの番地です。
ディベロッパーツール「…⇢Copy⇢Copy XPath」でそこのボックスへの道順をコピーできます。
/html/body/ntp-app//div[1]/ntp-realbox//div/input
こんなPATHがそこのテキストボックスへのXPathになります。
driver.find_element_by_id("loginInner_u").send_keys("kazukichi_0914")
loginInner_uにkazukichi_0914という文字列をプログラム上から入力しましょうっていうことを表しています。
GoogleとYahoo!を言ったり来たりしていると思います。
情報に簡単にブラウザ操作の自動化ができました。
人間は何もしていませんよ。
seleniumスクリプトも書きます。