2013-05-05 3 views
0

코드를 실행할 때 다음 예외가 발생하므로 Selenium Webdriver를 사용하려고합니다. 내 코드는 매우 기본적이고 다음과 같습니다.프록시를 설정할 수 없습니다 : selenium.common.exceptions.WebDriverException : 액세스가 거부되었습니다.

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()

주위를 둘러 보았고 나는 link을 따라갔습니다.

하지만 불행히도 나는 여전히 같은 오류가 발생합니다. 루트 사용자로 실행할 수 없습니다. 프록시 설정을 변경하고 링크에서 언급 한 것처럼 로컬 호스트에 프록시 없음 요소를 설정했습니다.

나는 파이썬 2.7을 사용 중이며 셀렌 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

를 시스템의 프록시 즉에 프록시를 설정하려고하지만 그것은 다시 위의 예외 메시지를 제공합니다. 사용자 이름과 비밀번호를 설정해야하는 곳이 있습니까?

도움이 될 것입니다.

+0

이 작업은 Firefox 프로필을 변경하여 수행 할 수 있습니다. 내 대답을 확인해. http://stackoverflow.com/a/38168865/5409601 –

답변

0

시스템의 모든 브라우저에서 프록시 설정을 수동으로 제거하십시오. 나는 IE, 파이어 폭스, 구글 크롬을 가지고 있었다. 모든 브라우저의 프록시 설정을 제거하고 Firefox에서만 프록시를 사용 가능하게 설정했는데 오류가 발생하지 않았습니다. 나는 이것이 왜 이렇게 작동하는지 정확히 알지 못한다. 확실하지 않은 윈도우의 레지스트리 설정과 관련이있을 수있다. 위에서 말한 후에 기본 코드를 실행하여 정상적으로 작동했습니다.

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

프록시를 명시 적으로 설정하지 않았습니다. 기본적으로 시스템의 프록시 설정이 적용됩니다. 희망이 다른 사람들이 비슷한 문제에 직면하는 데 도움이됩니다.

관련 문제