参考文献・参考サイト
(ドライバーの配置)
上記のサイトを使い、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()
以下のサイトを参考に、トラブルシューティングを試みる
▼結果
ナヌ!?ドライバーが間違っているって?そんなはずは・・・
正確にはドライバーのバージョンが間違えていたみたい
ちゃんと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
今回はここまで🌸
それではまた!
sunoでした
コメント