学習めも。

Python、Anaconda学習中🔰 ブログ引っ越ししました😄よろしくお願いします!https://noeiganolife.com/

記録用🔰

プログラミング以外の記事はこちら

Seleniumのインストール⇨アナコンダ導入!

参考文献

self-development.info (ドライバーの配置) 上記のサイトを使い、Selenium、ドライバーをインストールして、起動確認したら、エラー!

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
 
CHROMEDRIVER = "driver/chromedriver"
 
# ドライバー指定でChromeブラウザを開く
browser = webdriver.Chrome(CHROMEDRIVER)
 
# Googleアクセス
browser.get('https://www.google.com/')
 
# 検索ボックスを特定
elem = browser.find_element(By.NAME, 'q')
# 「Selenium」と入力して、「Enter」を押す
elem.send_keys('Selenium' + Keys.RETURN)
 
# ブラウザを閉じる
#browser.quit()

以下のサイトを参考に、トラブルシューティングを試みる

https://teshi-learn.com/2021-08/mac%E3%81%ABchormedriver%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%EF%BC%88chromedriver%E3%81%AF%E3%80%81%E9%96%8B%E7%99%BA%E5%85%83%E3%81%8C%E6%9C%AA%E7%A2%BA%E8%AA%8D%E3%81%AE/

▼結果 ナヌ!?ドライバーが間違っているって?そんなはずは・・・
正確にはドライバーのバージョンが間違い得ていたみたい
ちゃんとChromeのバージョンを調べてからインストールしたつもりが😅😅
とりあえず、指示通りにドライバーを入れ直す

また、Macがドライバーを開けないようなので、環境設定でセキュリティ許可をしてから、再度プログラム実行

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
 
CHROMEDRIVER = "driver/chromedriver 2"
 
# ドライバー指定でChromeブラウザを開く
browser = webdriver.Chrome(CHROMEDRIVER)
 
# Googleアクセス
browser.get('https://www.google.com/')
 
# 検索ボックスを特定
elem = browser.find_element(By.NAME, 'q')
# 「Selenium」と入力して、「Enter」を押す
elem.send_keys('Selenium' + Keys.RETURN)
 
# ブラウザを閉じる
#browser.quit()

できたーーー!😂😂
バージョン間違えるという、初歩的なミスでした😅

Webページを表示する

▼ブラウザの基本操作

コード 機能
driver.get(WebページのURL) Webページを開く
driver.beck() 履歴を1つ戻る
driver.forward() 履歴を1つ進む
driver.refresh() ページを更新する
driver.quit() ブラウザを閉じる

▼現在のページ情報の取得

コード 機能
driver.current_url URLを取得
driver.title タイトルを取得

(練習)
Google, yahoo, pythonの3つのWebページを順に開いて移動して、それから履歴を1つずつ遡って、最後にGoogleに戻るプログラムを作成する
※それぞれのページ遷移に遷移したら、現在のページのタイトルとURLをprint()で表示。それぞれのページ遷移の間には、time.sleep(2)により2秒間待機する (web_browser_navigate.py)

from selenium import webdriver
import time
# chromedriver.exeがある場所
driver_path = "driver/chromedriver"
# WebDriverの作成
driver = webdriver.Chrome(executable_path=driver_path)

# www.google.co.jpを開く
driver.get("https://www.google.co.jp")
print(driver.title, driver.current_url)
time.sleep(2)

# www.yahoo.co.jpを開く
driver.get("https://www.yahoo.co.jp")
print(driver.title, driver.current_url)
time.sleep(2)

# www.python.orgを開く
driver.get("https://www.python.org")
print(driver.title, driver.current_url)
time.sleep(2)

# www.yahoo.co.jpに戻る
driver.back()
print(driver.title, driver.current_url)
time.sleep(2)

# www.google.co.jpに戻る
driver.back()
print(driver.title, driver.current_url)
time.sleep(2)

# webdriverの終了(ブラウザを閉じる)
driver.quit()

▼結果
できたー😆😆
ブラウザが切り替わってく様子見ると感動する!動画が載せられたら!ww
以下は出力

テキスト入力、キー入力、クリックを操作する

▼テキスト入力

#テキスト入力
要素.send_keys("テキスト")

#テキストクリア
要素.clear()

▼Enterキーを操作する

from selenium.webdriver.common.keys import Keys

# Enterキーの入力
要素.send_keys(Keys.ENTER)

・テキストの入力後にEnterキーをを入力したい場合は、selenium.webdriver.common.keysからKeysをインポートしておき、Keys .ENTERをsend_keeys()でキー送信する
※他にもKeys .SHIFT、Keys .DELETE、Keys .CONTROLなどの特殊キーを送信できる
▼キーの組み合わせを入力

#テキスト入力+Enterキー
要素.send_keys("テキスト" + Keys.ENTER)

#Shiftキーを押しながらテキスト入力(大文字入力)
要素.send_keys(Keys.SHIFT + "python")

▼ボタンやリンクをクリックする

#クリック
要素.click()

練習

(やりたい事) これらをの機能を組み合わせて実際にプログラミング!
Googleの検索ページで、「札幌の降水確率のグラフ」を表示するまでの動作をする
Googleの検索ボックスに「札幌天気」と入力して検索を行う
②表示された検索結果ページの天気予報のグラフにある「降水確率」ボタンをクリックして、グラフの表示を切り替える

(ポイント)
・Webページから要素を特定するには、driver.find_element()で表示中のWebページから検索する
※検索BOXの要素もこれで取得
・条件に合う要素がすぐに見つからなかった場合の待ち時間を10秒に設定。インターネット上には要素を後から読み込むWebページもあるので、見つからなかった場合の待ち時間を設定
driver.implicitly_wait(10)

(web_browser_search.py)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# chromedriverがある場所
driver_path = "driver/chromedriver"

# webdriverの作成
driver = webdriver.Chrome(executable_path=driver_path)

# 要素が見つからない場合は10秒待つように設定
driver.implicitly_wait(10)

# www.google.co.jpを開く
driver.get("https://www.google.co.jp")

# 検索ボックスに「札幌天気」を入力して、Enterキーを押す
driver.find_element(By.NAME, "q").send_keys("札幌天気" + Keys.ENTER)

# [降水確率]のボタンをクリック
driver.find_element(By.ID, "wob_rain").click()

# 5秒待つ
time.sleep(5)

# ブラウザを閉じる
driver.quit()

▼結果
あれ?できない。。。
▼エラーメッセージ(by. jupyter)
Seleniumインストールしたのにおかしいなあ・・・と思ったら、仮想環境が違いました💦
pip3 listで見たら、普通にSeleniumがありませんでした!そりゃできないわな・・・と
ググったら、Jupyterで簡単にカーネル変更できるらしいんだけど、使いたい仮想環境が書かれてないなあ・・・ とりあえず、仮想環境を変更しました
使い始めたアナコンダナビゲーター使用🎶
GUIで使いやすい!
※切り替える前にコマンドCtrl+Cで一回Jupyterを閉じてから切り替えます 仮想環境にインストールされているツールたちを調査(Jupyter使用)
コマンド入れる時は、最初にビックリマーク入れます☝️ あれ?ここにもない・・・なぜ!? 原因はよくわかりませんが、インストールし直しましたww
▼結果 できました🎶 サイトの様式が出版された時と変わってたみたいで、最後までは切り替わらなかったけど、ちゃんと走った!!😆
仮想環境要注意だな

でも、仮想環境の切り替えとか、Jupyterでの仮想環境の環境の調べ方とかを学べたので、収穫あり!

ちなみに、Windowsではエクスプローラーでファイルのクリックをすればすぐに走らせられるらしいんだけど、Macでファイルをクリックしても、フィイルの中身が表示されるだけでしたw

投稿がお役に立てたら、★ポチッとお願いします😁