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

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

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

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

4507閲覧

seleniumを操作する際に、chromedriverの実行ファイルを配置する理由について

aae_11

総合スコア178

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2020/03/26 01:49

seleniumにて、ブラウザ(chrome)を操作する際には、chromedriverが必要であるとの記事を多く見かけるのですが、chromedriverをseleniumを実行するファイルが格納されたディレクトリから削除した後、以下のようなプログラムを実行したのですが、ブラウザが立ち上がり該当のurlへ接続されました。

python

1from selenium import webdriver 2driver = webdriver.Chrome() 3 driver.get("https://google.com")

実は、上記のプログラムが格納されたディレクトリ内の/env/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.pyを削除しましたら、エラーが出たのですが、seleniumをアンインストール後再度インストールしましたら、seleniumによりブラウザを操作することが出来ました。
chromedriverをダウンロードし、実行ファイルを配置せずとも、seleniumをインストールすればブラウザを操作することが出来るのではないでしょうか?
どうもこちらの部分が疑問でして、詳しい方がいらっしゃいましたらご助言頂けましたら幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

詳しくなくて申し訳ありませんが
別のchromedriverがパスの通った場所に存在するのではないでしょうか?

コマンドでchromedriverと実行するとパスが通った場所にある場合プログラムが実行されるみたいなので

bash

1which -a chromedriver

と実行してみて場所が表示されたりしないでしょうか。

参考:
https://chromedriver.chromium.org/getting-started

投稿2020/03/26 02:46

akbr

総合スコア88

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

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

aae_11

2020/03/26 02:55

ご回答ありがとうございます。 「which -a chromedriver」こちらのコマンドの結果、「/usr/local/bin/chromedriver」と表示されました。 これはパスが設定されているということなのでしょうか? 自分では、パスを通した記憶はないんですよね...
Y.H.

2020/03/26 05:07

> これはパスが設定されているということなのでしょうか? いえ、/usr/local/bin/ に chromedriver がインストールされているということです。
akbr

2020/03/26 05:16

ですね。 意図しないうちに/usr/local/binにchromedriverがインストールされていて、 「Seleniumを実行するファイルが格納されたディレクトリ」から削除しても/usr/local/binの方が動作している、 ということですね。
aae_11

2020/03/26 05:37 編集

Y.Hさん、akbrさん、ご説明、ありがとうございます。 >/usr/local/binの方が動作している、 こちらなのですが、「/usr/local/bin」こちらのパスにインストールされているchromedriverが動作するのは、何故なのでしょうか...? 度々申し訳ないのですが、いまいちここの部分の原理が分からない為、教えて頂けましたら、幸いです
akbr

2020/03/26 07:44

「パスが通っているから」ということになります。 printenv コマンドを実行すると PATH=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx という行があると思いますが、そこに/usr/local/binがあるはずです。 環境変数の"PATH"に設定されているパスにあるプログラムは、コマンド名だけで自動で検索されてプログラムが実行できます。 そうでないなら、コマンドプログラムとそれを呼び出すプログラムが同じディレクトリにあるとか、フルパスでコマンドを指定するとか、そういったことをしないと実行できません。 PATHがどこで定義されているか、どうやったら追加できるか については、OSによって異なるのでご自分の環境にあったやり方を調べてください。 キーワードは「環境変数」「PATH」「パスを通す」「export」あたりです。
aae_11

2020/03/26 08:05

ご丁寧にご説明頂きまして、ありがとうございます。 おかげで、大方ご説明頂いたことが理解出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問