当前位置: 首页 > 知识库问答 >
问题:

如何使用tor浏览器作为web驱动selenium?

何涵育
2023-03-14

我得到了一个例外:

异常线程"main"java.lang.IllegalStateExcture:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;有关详细信息,请参阅https://github.com/mozilla/geckodriver.最新版本可以从https://github.com/mozilla/geckodriver/releases下载

这是我的代码:

String torPath = "C:\\Users\\camil\\Desktop\\Tor Browser\\Browser\\firefox.exe";
String profilePath = "C:/Users/camil/Desktop/Tor Browser/Browser/TorBrowser/Data/Browser/profile.default";
File torProfileDir = new File(profilePath);
FirefoxBinary binary = new FirefoxBinary(new File(torPath));
FirefoxProfile torProfile = new FirefoxProfile(torProfileDir);

torProfile.setPreference("webdriver.load.strategy", "unstable");
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setBinary(binary);
firefoxOptions.setProfile(torProfile);
FirefoxDriver driver = new FirefoxDriver(firefoxOptions);

共有1个答案

陶飞鸿
2023-03-14

使用现有浏览器配置文件成功启动Tor:

package navi;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;

public class Tor_browser_test {
    private static WebDriver driver;

    @BeforeClass
    public static void setUpClass() {
        FirefoxOptions options = new FirefoxOptions();
        ProfilesIni allProfiles = new ProfilesIni();         
        FirefoxProfile selenium_profile = allProfiles.getProfile("selenium_profile");
        options.setProfile(selenium_profile);
        options.setBinary("C:\\Users\\pburgr\\Desktop\\Tor browser\\Browser\\firefox.exe");
        System.setProperty("webdriver.gecko.driver", "C:\\Users\\pburgr\\Desktop\\geckodriver-v0.20.0-win64\\geckodriver.exe");
        driver = new FirefoxDriver(options);
        driver.manage().window().maximize();}
    @Before
    public void setUp() {}
    @After
    public void tearDown() {}
    @AfterClass
    public static void tearDownClass() {driver.quit();}
    @Test
    public void tor_browser_test() throws InterruptedException {
        driver.get("https://www.google.com");
        Thread.sleep(5000);
    }
}
 类似资料:
  • 有可能让selenium使用TOR浏览器吗?有人有什么代码可以复制粘贴吗?

  • 我目前正在尝试使用Selenium WebDriver(JAVA)2.53和Firefox 43.0执行TOR 6.0.4。我已经按照这篇文章的说明使用Selenium WebDriver和Tor,但在将Tor的profilePath加载到Firefox二进制文件时,我遇到了一个错误。我已经看到可以通过加载TOR配置文件来访问TOR。firefox二进制文件的默认存档,但我得到了一个驱动程序信息:

  • 我使用的是Selenium 2.53.0Java、Tor 6.0.4和Firefox43。我用Firefoxprofile()加载profile.default归档文件,并用firefox.exe加载Firefoxbinary()来执行tor。Tor启动,但它没有启动,它显示两个错误:无法连接到Tor控制端口和Tor启动失败。

  • 我不能启动Safari浏览器从硒网络驱动程序。我使用Python绑定。找不到任何提供Python详细步骤的参考。我知道有一个相关的问题stackoverflow,但它不回答python-python selenium网络驱动Safari驱动程序 遵循http://code.google.com/p/selenium/wiki/SafariDriver,下载并安装了safari开发者证书。此文档包含

  • 我无法使用selenium webdriver 3.4.0启动Firefox浏览器

  • 我研究了一下,但我得到了解决办法: 它给出了错误: 无法加载配置文件。配置文件目录:C:\users\hppav1~1\appdata\local\temp\tmppcuwx3xd Firefox输出:无 当我尝试那个解决方案的时候。 它给出了以下错误: 回溯(最近一次调用):文件“c:/python34/torfirstscript.py”,第10行,在browser=webdriver.fir