Seleniumで作業中に問題が発生しました。私のプロジェクトでは、Chromeを使わなければなりません。しかし、Seleniumで起動した後は、そのブラウザに接続できません。
どういうわけか、SeleniumはそれだけではChromeを見つけられません。パスを含めずにChromeを起動しようとすると、次のようになります。
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/Selenium/wiki/ChromeDriver")
Selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/Selenium/downloads/list and read up at http://code.google.com/p/Selenium/wiki/ChromeDriver'
この問題を解決するために、Chromeを起動するコードにChromiumパスを含めました。しかし、インタプリタは接続するソケットを見つけられません。
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
Selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
私はまたクロムを進水させることによって問題を解決することを試みた:
クロム - リモートシェルポート= 9222
しかし、これもうまくいきませんでした。
PS。これが私のシステムに関する情報です。
www-client:chromium 15.0.874.121 dev-lang:python 2.7.2-r3 Selenium 2.11.1 OS:GNU/Linux Gentooカーネル3.1.0-gentoo-r1
スタンドアロンのChromeDriverバイナリ(Chromeブラウザのバイナリとは異なる)がパスにあるか、webdriver.chrome.driver環境変数で使用可能であることを確認する必要があります。
接続方法の詳細については、 http://code.google.com/p/Selenium/wiki/ChromeDriver を参照してください。
編集する
そうですね、パスからまたは環境変数のchromedriverバイナリを読み取るwrt Pythonバインディングのバグのようです。 chromedriverがあなたのパスにない場合は、コンストラクタへの引数として渡す必要があります。
import os
from Selenium import webdriver
chromedriver = "/Users/adam/Downloads/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
driver.quit()
Linuxの場合
chromium-browser -version
がインストールされていることを確認しますSudo apt-get install chromium-browser
をインストールしてください。/usr/bin
ディレクトリに移動します。Sudo mv chromedriver /usr/bin
/usr/bin
ディレクトリcd /usr/bin
Sudo chmod a+x chromedriver
のような何かを実行する必要があるでしょう。最後にコードを実行できます。
from Selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.google.com")
print driver.page_source.encode('utf-8')
driver.quit()
display.stop()
Mac OSXのみ
( homebrew が既にインストールされている場合は、最初にそれを実行し、homebrewで生活を良くすることをお勧めします)次のコマンドを実行するだけです。
brew install chromedriver
それはあなたの道にクロムドライバーを入れるべきであり、あなたはすべて設定されるべきです。
Windowsの場合、chromedriver.exe
を<Install Dir>/Python27/Scripts/
の下に配置してください。
Google ChromeでSelenium pythonテストを実行する方法は2つあります。私はWindows(私の場合はWindows 10)を検討しています。
前提条件:から最新のChromeドライバをダウンロードします。 https://sites.google.com/a/chromium.org/chromedriver/downloads)
方法1:
i)ダウンロードしたZipファイルを任意のディレクトリ/場所に解凍します。
ii)以下のようにあなたのコードの実行可能パスを設定します。
self.driver = webdriver.Chrome(executable_path='D:\Selenium_RiponAlWasim\Drivers\chromedriver_win32\chromedriver.exe')
方法2:
i)chromedriver.exeを/ Python/Scripts /の下に貼り付けるだけです(私の場合はC:\ Python36\Scripts)。
ii)以下のように簡単なコードを書きます。
self.driver = webdriver.Chrome()