【发布时间】:2014-04-10 03:23:38
【问题描述】:
因为 Tor Browser Bundle 只是 Firefox 的一个补丁版本,看来应该可以将 FirefoxDriver 与 Tor 浏览器一起使用。这是我迄今为止尝试过的:
String torPath = "C:\\Users\\My User\\Desktop\\Tor Browser\\Start Tor Browser.exe";
String profilePath = "C:\\Users\\My User\\Desktop\\Tor Browser\\Data\\Browser\\profile.default";
FirefoxProfile profile = new FirefoxProfile(new File(profilePath));
FirefoxBinary binary = new FirefoxBinary(new File(torPath));
FirefoxDriver driver = new FirefoxDriver(binary, profile);
driver.get("http://www.google.com");
这会导致打开一个空白的 Tor 浏览器页面并弹出一条消息:您的 Firefox 配置文件无法加载。它可能丢失或无法访问。
我知道配置文件有效/兼容,因为我可以通过以下方式成功启动浏览器和配置文件:
binary.startProfile(profile, profilePath, ""));
但是,我不知道如何向以这种方式打开的浏览器发送命令。
我发现了类似的问题,但我专门寻找 Java 解决方案,最好在 Windows 上进行测试。
【问题讨论】:
-
根据Tor browser design page,编译到Firefox版本中的补丁会阻止扩展执行。由于 Firefox 驱动程序的“远程端”是作为浏览器扩展实现的,这是否会影响您使用 WebDriver 驱动 Tor 浏览器的能力?
-
我也想过这个,但似乎它是由下面的 Mimi 实现的。另外,我已经让它在 Linux 上运行。
-
您的代码与下面指定的代码之间的一个区别是您正在启动“Start Tor Browser.exe”,而其他代码正在启动嵌入式 Firefox 可执行文件。如果我将您的
FirefoxBinary更改为指向C:\Users\<My User Name>\Desktop\Tor Browser\Browser\firefox.exe,我可以正常启动浏览器,但WebDriver 扩展肯定不会加载。 -
我试过了,但我得到了相同的结果。
标签: java firefox selenium-webdriver tor tor-browser-bundle