質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

958閲覧

webdriverでchrome操作に関して

isana3

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/10/07 22:11

前提・実現したいこと

webdriverを使い自動でgooglechromeを開きたいのですが、
うまくいきません。
どなたか分かるかた教えて頂きたいですm(_ _)m

macを使用しています。
開発環境はJupyterLabです。

発生している問題・エラーメッセージ

--------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) ~/anaconda3/lib/python3.7/site-packages/selenium/webdriver/common/service.py in start(self) 75 stderr=self.log_file, ---> 76 stdin=PIPE) 77 except TypeError: ~/anaconda3/lib/python3.7/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text) 774 errread, errwrite, --> 775 restore_signals, start_new_session) 776 except: ~/anaconda3/lib/python3.7/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session) 1521 err_msg += ': ' + repr(err_filename) -> 1522 raise child_exception_type(errno_num, err_msg, err_filename) 1523 raise child_exception_type(err_msg) FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver': 'chromedriver' During handling of the above exception, another exception occurred: WebDriverException Traceback (most recent call last) <ipython-input-56-998904c70be9> in <module> ----> 1 browser = webdriver.Chrome() 2 browser.implicitly_wait(10) ~/anaconda3/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive) 71 service_args=service_args, 72 log_path=service_log_path) ---> 73 self.service.start() 74 75 try: ~/anaconda3/lib/python3.7/site-packages/selenium/webdriver/common/service.py in start(self) 81 raise WebDriverException( 82 "'%s' executable needs to be in PATH. %s" % ( ---> 83 os.path.basename(self.path), self.start_error_message) 84 ) 85 elif err.errno == errno.EACCES: WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home ​

該当のソースコード

python

1!pip install selenium 2!pip install beautifulsoup4 3 4from selenium import webdriver 5import time 6import pandas as pd 7 8USER = "test_user" 9PASS = "test_pw" 10 11browser = webdriver.Chrome() 12browser.implicitly_wait(10)

試したこと

macなのでexecutable_pathを記述しないでいいはずなんですが、
エラーメッセージにはその記述をしないといけない感じのないようなのかなと思い、
executable_path = XXXX 
の記述をしても、うまくいきませんでした。

補足情報(FW/ツールのバージョンなど)

開発環境:JupyterLab
開発言語:python

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/10/07 22:19

エラーメッセージはバスの通っている場所に'chromedriver'がいない、と言っているのでは?
toast-uz

2020/10/07 22:46

chromedriver-binary はどうやってインストールしましたでしょうか? また、executable_path = XXXX の記述をしても、の具体的な記述コードを示してください。
isana3

2020/10/07 23:04

mag_さんありがとう御座います! エラーメッセージはバスの通っている場所に'chromedriver'がいない、と言っているのでは? とは、どうゆうことでしょうか? 知識が少なくすみませんm(_ _)m toast-uzさんありがとう御座います! chromedriver-binary はインストールしてないかもしれません。 一度試してみます! 試した後、エラーが出たら、具体的な記述コード書かせて頂きます!
guest

回答1

0

正直、ChromeDriverは、バージョン管理から何から、うまく動かすのがいつも試行錯誤です。

  1. pip install chromedriver-binary を実施したか確認ください。(示された手順に無いです)

  2. chromedriverのバイナリインストールをしたか確認ください。以下の手順が確実です。

https://sites.google.com/a/chromium.org/chromedriver/downloads
で、Chromeのバージョンになるべくあったものを選択し、自分のOS向けのものをダウンロード。
zipを解凍するとバイナリファイルが出てくるため、それをどこかのディレクトリに置く。
browser = webdriver.Chrome()の()内で、上記バイナリファイルをフルパスで指定。

投稿2020/10/07 23:09

編集2020/10/07 23:15
toast-uz

総合スコア3266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

isana3

2020/10/09 11:20 編集

解答ありがとうございます。 1)記述しました。 2)インストールし、executable_path でパスを指定すると File "<ipython-input-36-4be679e44d88>", line 1 browser = webdriver.Chrome(executable_path = XXXX=/Users/XXXX/Desktop/chromedriver) ^ SyntaxError: invalid syntax と出てきて、うまく動作しないですm(_ _)m もし解決策あればお願いしますm(_ _)m
toast-uz

2020/10/09 11:16 編集

path=の右側は、" "で囲んで文字列としてください。 ちなみに、executable_path=は無くて良いです。 あと上のコメントでユーザ名が見えてしまっていますので、編集して(ユーザ名)などと伏字にすることをオススメします。
isana3

2020/10/09 11:21 編集

囲みました!ありがとうございます。 次はこのようなエラーができてましたm(_ _)m NameError Traceback (most recent call last) <ipython-input-39-a1eeddeedf73> in <module> ----> 1 browser = webdriver.Chrome(executable_path="/Users/xxxxxx/Desktop/chromedriver") 2 browser.implicitly_wait(3) NameError: name 'webdriver' is not defined
isana3

2020/10/09 11:21

ご丁寧にありがとうございます。 やはり、executable_path=の記述がなくても このようなエラーができてきます。 NameError Traceback (most recent call last) <ipython-input-40-98b0f9aa9af3> in <module> ----> 1 browser = webdriver.Chrome() 2 browser.implicitly_wait(3) NameError: name 'webdriver' is not define
toast-uz

2020/10/09 11:24

JupyterLabを使われているので、何かの拍子に、過去のimportが消えてしまっているでは。 from selenium import webdriver を実行してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問