2016-08-08 32 views
10

セレンの使い方を勉強しようとすると、クロームドライバがパス名にないという最初のエラーを克服することができましたが、別のエラーが発生しました。OSError:[Errno 8] Exec format error selenium

from selenium import webdriver 
    from selenium.webdriver.common.keys import Keys 


    driver = webdriver.Chrome('/Users/williamneal/Scratch/Titanic/chromedriver') 
    driver.get("http://www.bbc.com") 

エラー: トレースバック(最新の呼び出しの最後):

File "<ipython-input-1-84256e62b8db>", line 5, in <module> 
    driver = webdriver.Chrome('/Users/williamneal/Scratch/Titanic/chromedriver') 

    File "/Users/williamneal/anaconda/lib/python3.5/site-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__ 
    self.service.start() 

    File "/Users/williamneal/anaconda/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 64, in start 
    stdout=self.log_file, stderr=self.log_file) 

    File "/Users/williamneal/anaconda/lib/python3.5/subprocess.py", line 950, in __init__ 
    restore_signals, start_new_session) 

    File "/Users/williamneal/anaconda/lib/python3.5/subprocess.py", line 1544, in _execute_child 
    raise child_exception_type(errno_num, err_msg) 

OSError: [Errno 8] Exec format error 

ホームブリュー経由クロームドライバをインストールする必要がなく、そのオプションが私には利用できない可能性のある解決策hereは、あります。

アイデア?

答えて

9

chromedriverバイナリの形式について不平を言っているようです。 プラットフォームとクロムドライブのフォーマットが一致していない可能性があります。たとえば、windowsにはchromedriver.exeが必要ですが、linuxとmacには異なるフォーマットがあります。

あなただけhttps://sites.google.com/a/chromium.org/chromedriver/downloads

ノートからchromedriverダウンロードし、パッケージマネージャを介してインストールしない場合:選択したファイルをお使いのOSごとに

そして、OS上の任意の場所に置くとして、そのパスを渡します引数。毎回場所を渡したくない場合は、webdriver.chrome.driver環境変数を設定することもできます。

関連する問題