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

このエントリーをはてなブックマークに追加
python
Python
ースポンサーリンクー

参考文献・参考サイト

(ドライバーの配置)

上記のサイトを使い、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()

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

MacにChormeDriverを設定する(“chromedriver”は、開発元が未確認のため開けません。)
こんにちは、しらすです。MacでChromeDriverを入れてSeleniumを実行しようとしたら以下のようなエラーが出てきました。解決策を調べたのでメモします。システム環境設定から実行を許可左上のアップルマークから「システム環境設定」を

▼結果
ナヌ!?ドライバーが間違っているって?そんなはずは・・・
正確にはドライバーのバージョンが間違えていたみたい
ちゃんと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_urlURLを取得
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

今回はここまで🌸

suno
suno

それではまた!

sunoでした

コメント

タイトルとURLをコピーしました