参考ページ
chrome driverのインストール
brewが入っていればbrewでインストールできるそうです.
brew install chromedriver
しかし,以下のようなエラーがでる.
Error: No available formula with the name "chromedriver" It was migrated from homebrew/core to homebrew/cask. You can access it again by running: brew tap homebrew/cask And then you can install it by running: brew cask install chromedriver
コマンドが指示されたのでそのまま動かすと
brew cask install chromedriver
無事インストール完了.
これで必要なものは揃いました.
実際に動かしてみる
とりあえず,参考ページのプログラムをそのまま動かしてみる.
# coding:utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep # ブラウザを開く。 driver = webdriver.Chrome() # Googleの検索TOP画面を開く。 driver.get("https://www.google.co.jp/") # 検索語として「selenium」と入力し、Enterキーを押す。 driver.find_element_by_id("lst-ib").send_keys("selenium") driver.find_element_by_id("lst-ib").send_keys(Keys.ENTER) # タイトルに「Selenium - Web Browser Automation」と一致するリンクをクリックする。 driver.find_element_by_link_text("Selenium - Web Browser Automation").click() # 5秒間待機してみる。 sleep(5) # ブラウザを終了する。 driver.close()
ブラウザの起動はするものの,検索ができていない.
そこで,実際に検索画面にいって,要素を調べてみる.
デベロッパーツールを使うと,ページの様々な要素が確認できます.
検索するところを確認すると以下のようになっている.
今回はCSSセレクタを使用し,指定してみる.
検索部分のCSSセレクタは".gLFyf"となっていることがわかる.
改良したプログラムを以下に示す.
# coding:utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep # ブラウザを開く。 driver = webdriver.Chrome() # Googleの検索TOP画面を開く。 driver.get("https://www.google.co.jp/") sleep(3) # 検索語として「selenium」と入力し、Enterキーを押す。 element = driver.find_element_by_css_selector(".gLFyf") #検索語を入力 element.send_keys("CSSセレクタとは?") #検索ボタンをエンター element.send_keys(Keys.ENTER) sleep(5) # ブラウザを終了する。 driver.close()
実行してみると・・・
無事検索が行われている.