2017-10-31 1 views
0

나는 셀렌 (Selenium)을 통해 Tor 브라우저의 테스트를 자동화하려하지만 아직까지는 작동하지 못한다. 모든 시도는 다음 코드의 변형입니다.Selenium에서 Tor 브라우저를 실행하는 방법은 무엇입니까?

FirefoxProfile profile = new FirefoxProfile(new File("/Users/MyUsername/Library/Application Support/TorBrowser-Data/Browser/x1v4coki.default")); 
profile.setPreference("webdriver.load.strategy", "unstable"); 
profile.setPreference("network.proxy.type", 1); 
profile.setPreference("network.proxy.socks", "127.0.0.1"); 
profile.setPreference("network.proxy.socks_port", 9150); 
FirefoxBinary binary = new FirefoxBinary(new File("/Applications/TorBrowser.app/Contents/MacOS/firefox")); 
FirefoxOptions options = new FirefoxOptions(); 
options.setBinary(binary); 
options.setProfile(profile); 
FirefoxDriver driver = new FirefoxDriver(options); 

마지막 행이 실행되면 Tor 브라우저가 성공적으로 시작됩니다. 그러나,이 프로그램은 분 정도 궁극적으로 다음과 같은 예외가 발생됩니다에 대한 중단됩니다 :

Exception in thread "main" org.openqa.selenium.WebDriverException: connection refused 
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T15:28:36.4Z' 
System info: host: '...', ip: '...', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_144' 
Driver info: driver.version: FirefoxDriver 

같은 예외가 발생 내가 profile.setPreference(...) 라인을 생략 할 때. Tor 브라우저 7.0.8, geckodriver 0.19.0 및 Selenium 3.6을 사용하고 있습니다.

예외를 일으키는 원인을 알아내는 데 도움을 줄 수 있습니까?

+2

geckodriver가 최신 FF 버전 용으로 만들어 졌으므로 Tor가 geckodriver를 사용하지 마십시오. 이전 torch FF 포크입니다. https://stackoverflow.com/questions/39134419/run-tor-browser-with-selenium-webdriver –

+0

의견을 보내 주셔서 감사합니다.하지만 셀레늄을 통해 Tor 브라우저를 작동하려면 geckodriver가 필요합니다. 이미 언급 한 링크가있어서 동일한 해결책을 시도했습니다. 그러나 0.19.0 대신 0.18.0의 geckodriver를 사용하여 작동하도록했습니다. –

답변

0

0.19.0 대신 geckodriver 0.18.0을 사용하면 문제가 해결됩니다.

관련 문제