0

Selenium Webdriver を使用したいのですが、コードを実行すると次の例外が発生するため、使用できません。私のコードは非常に基本的で、次のとおりです。

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.google.com.bh")
assert "Google" in driver.title
driver.close()

Exception Message
selenium.common.exceptions.WebDriverException: Message: '<HTML><HEAD>\n<TITLE>Access Denied</TITLE>\n</HEAD>\n<BODY>\n<FONT face="Helvetica">\n<big><strong></strong></big><BR>\n</FONT>\n<blockquote>\n<TABLE border=0 cellPadding=1 width="80%">\n<TR><TD>\n<FONT face="Helvetica">\n<big>Access Denied (authentication_failed)</big>\n<BR>\n<BR>\n</FONT>\n</TD></TR>\n<TR><TD>\n<FONT face="Helvetica">\nYour credentials could not be authenticated: "Credentials are missing.". You will not be permitted access until your credentials can be verified.\n</FONT>\n</TD></TR>\n<TR><TD>\n<FONT face="Helvetica">\nThis is typically caused by an incorrect username and/or password, but could also be caused by network problems.\n</FONT>\n</TD></TR>\n<TR><TD>\n<FONT face="Helvetica" SIZE=2>\n<BR>\nFor assistance, contact your network support team.\n</FONT>\n</TD></TR>\n</TABLE>\n</blockquote>\n</FONT>\n</BODY></HTML>\n' 

Firefox を開きますが、その後は Google や他のローカル サイトに接続できません。例外はdriver = webdriver.Firefox()

私はグーグルで検索し、 SOのリンクをたどりました。

しかし残念ながら、私はまだ同じエラーが発生します。root ユーザーとして実行できません。リンクに記載されているように、プロキシ設定を変更し、localhost に No Proxy 要素を設定しました。

私は Python 2.7 を使用しており、Selenium 2.31 バージョンをインストールしています。

プロキシも設定してみました。

myProxy = "*********:8080"
proxy = Proxy({
    'proxyType': ProxyType.MANUAL,
    'httpProxy': myProxy,
    'ftpProxy': myProxy,
    'sslProxy': myProxy,
    'noProxy': 'localhost,127.0.0.1,*.abc' 
    })

driver = webdriver.Firefox(proxy=proxy)

また、プロキシをシステムのプロキシに設定しようとしました。つまり、上記のコードでは、'proxyType': ProxyType.SYSTEM

しかし、再び上記の例外メッセージが表示されます。ユーザー名とパスワードを設定する場所はありますか?

どんな助けでも大歓迎です!

4

1 に答える 1

0

システム上のすべてのブラウザから手動でプロキシ設定を削除します。私はIE、Firefox、Google Chromeを持っていました。すべてのブラウザのプロキシ設定を削除し、Firefox でのみプロキシを有効にすると、エラーは発生せずに機能しました。これがこのように機能する正確な理由はわかりません。よくわからないWindowsのレジストリ設定に関係している可能性があります。上記を実行した後、基本的なコードを実行したところ、正常に機能しました。

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.google.com.bh")
assert "Google" in driver.title
driver.close()

プロキシも明示的に設定しませんでした。デフォルトでは、システムのプロキシ設定が使用されていました。これが、同様の問題に直面している他の人に役立つことを願っています。

于 2013-05-07T06:45:01.397 に答える