4

Selenium 2 の Python ライブラリを介して Google Chrome または Internet Explorer を開くことができないようです。Windows 7、64 ビットを使用しています。

次の手順を完了しました。

  • インストールされたpython-2.7.5
  • インストールされたセレン2.33
  • 環境変数 - パスに C:\Python27 & C:\Python27\Scripts が含まれています
  • v27-30 (私は 28) をサポートする 32 ビット (64 ビットを実行していますが、32 ビット バージョンは見つかりませんでした) Windows Chrome ドライバーをダウンロードし、C:\Python27\Scripts に配置しました。
  • IE9 までサポートする 64 ビット IE ドライバーをダウンロードしました (IE10 を IE9 にダウングレードしました)。ドライバーを C:\Python27\Scripts に配置しました

入力するたびに:

from selenium import webdriver
driver = webdriver.Ie()

また

from selenium import webdriver
driver = webdriver.Chrome()

Python シェルにログインしても、ブラウザーはポップアップせず、シェルは数分間フリーズした後、エラー メッセージを出力します。

IE エラー メッセージ:

selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the IEDriver'

Chrome エラー メッセージ:

urllib2.HTTPError: HTTP Error 503: Service Unavailable

firefox で問題なく動作します。面白いことに、プロセス (IEDriver と ChromeDriver) は TaskManager ごとに開始されますが、ウィンドウは表示されません。

4

2 に答える 2

7

python-seleniumでは、 IEDriver.exeを実行して .exe 経由で接続するwebdriver.Ieための単なるショートカットです。たとえば、コマンド ラインからIEDriver.exeを起動できます。webdriver.Remote

> IEDriverServer.exe
Started InternetExplorerDriver server (64-bit)
2.39.0.0
Listening on port 5555

webdriver.Ie()次のコードに置き換えます。

webdriver.Remote(command_executor='http://127.0.0.1:5555',
                 desired_capabilities=DesiredCapabilities.INTERNETEXPLORER)`

同じ結果が得られます。

具体的には、プロキシ サーバーを介して127.0.0.1に強制的に接続するシステム プロキシ設定がある可能性が最も高いです。おそらく、回答Python: Disable http_proxy in urllib2で説明されているように無効にすると、問題を解決できます。

import selenium
import urllib2
from contextlib import contextmanager

@contextmanager
def no_proxies():
    orig_getproxies = urllib2.getproxies
    urllib2.getproxies = lambda: {}
    yield
    urllib2.getproxies = orig_getproxies

with no_proxies():
    driver = selenium.webdriver.Ie()
    driver.get("http://google.com")
于 2014-07-16T07:26:53.003 に答える
1

ダウンロードしたパスではこの問題を解決できませんでしたが、次のようにドライバーへのパスを定義することで回避できました。

   driver = webdriver.Chrome('C:\path\to\chromedriver')

また

   driver = webdriver.Ie('C:\path\to\iedriver')
于 2013-07-16T18:33:56.683 に答える