2

我尝试通过 Java + Selenium + CheckoDriver + Tor 浏览器打开 Tor 浏览器。下面的代码打开 Tor 浏览器,但出现“Tor 无法启动”错误。也许有人面临这个问题或有其他解决问题的解决方案(仅在 Java 上)谢谢!

 public static void test3() {
                System.setProperty("webdriver.gecko.driver", "C:\\tor\\geckodriver.exe");
                System.setProperty("webdriver.firefox.marionette", "C:\\tor\\geckodriver.exe");

                FirefoxOptions options = new FirefoxOptions();
                FirefoxProfile torProfile = new FirefoxProfile(new File("C:\\tor\\Tor Browser\\Browser\\TorBrowser\\Data\\Browser\\profile.default"));
                torProfile.setPreference("network.proxy.type", 1);
                torProfile.setPreference("network.proxy.socks", "127.0.0.1");
                torProfile.setPreference("network.proxy.socks_port", 9150);
                options.setBinary("C:\\tor\\Tor Browser\\Browser\\firefox.exe");
                options.setProfile(torProfile);
                options.setCapability(FirefoxOptions.FIREFOX_OPTIONS, options);

                FirefoxDriver driver = new FirefoxDriver(options);
                driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
                driver.navigate().to("http://www.google.com");
            }

我想,也许是 setPreference (代理..)的问题

4

1 回答 1

1

要使用 Selenium、GheckoDriver 和 Java 打开 TOR 浏览器,需要先启动守护进程Runtime.getRuntime().exec(),可以使用以下解决方案:

package demo;

import java.io.File;
import java.io.IOException;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;

public class A_Tor_Firefox {

    public static void main(String[] args) throws IOException {


    Runtime.getRuntime().exec("C:/Users/Debanjan.B/Desktop/Tor Browser/Browser/TorBrowser/Tor/tor.exe");
    System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
    FirefoxOptions options = new FirefoxOptions();
    options.setBinary("C:\\Users\\Debanjan.B\\Desktop\\Tor Browser\\Browser\\firefox.exe");
    FirefoxProfile profile = new FirefoxProfile(new File("C:\\Users\\Debanjan.B\\Desktop\\Tor Browser\\Browser\\TorBrowser\\Data\\Browser\\profile.default"));
    profile.setPreference("network.proxy.type", 1);
    profile.setPreference("network.proxy.socks", "127.0.0.1");
    profile.setPreference("network.proxy.socks_port", 9150);
    profile.setPreference("network.proxy.socks_remote_dns", "False");
    options.setProfile(profile);
    WebDriver driver = new FirefoxDriver(options);
    driver.get("http://check.torproject.org");

    }
}
于 2019-12-24T08:13:35.080 回答