Seleniumが動かない
『退屈なことはPythonにやらせよう』でスクレイピングを学んでいた際、Seleniumだけは、
WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
というエラーが出てきて、詰まっていました。
ChromedriverなりGeckodriverがパスの通ったファイルに存在しないというのがエラーの原因なので、
import osos.getcwd()
で、出てくるディレクトリに
Release v0.19.0 · mozilla/geckodriver
Note that with geckodriver v0.19.0 the following versions are recommended: Firefox 55.0 (and greater) Selenium 3.5 (and greater) Added Added endpoint: POST...
Downloads | ChromeDriver | Chrome for Developers
などで、ダウンロードしたexeファイルを置けば解決する。
Google Colaboratoryだとうまくいかないのでドツボにハマりました。
Seleniumでamazonにログインしてみる
- IDを入力する
- PASSWORDを入力する
- ログインボタンを押す/入力結果を送信する
といった手順が必要。
from selenium import webdriverbrowser=webdriver.Firefox()browser.get('https://www.amazon.co.jp/ap/signin?openid.return_to=https%3A%2F%2Fwww.amazon.co.jp%2Fref%3Dgw_sgn_ib%2F357-7729046-1388829&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=jpflex&openid.mode=checkid_setup&marketPlaceId=A1VC38T7YXB528&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&')#①IDの入力id_elem=browser.find_element_by_id('ap_email')id_elem.send_keys('登録したメールアドレス')#②PASSの入力pass_elem=browser.find_element_by_id('ap_password')pass_elem.send_keys('登録したパスワード')#③入力内容の送信pass_elem.submit()
JupyterNotebookでのみ動作確認済み。