Tor浏览器硒javascript

时间:2018-08-09 20:46:25

标签: javascript selenium tor

我在Tor中使用了硒,但它不起作用,我看到有一个库可以这样做,但只能在python中使用。可以用javascript完成吗?我试过了,但是没用。

const {Builder, By, Key, until} = require('selenium-webdriver');

var driver = new Builder()
    .forBrowser('tor')
    .build();

driver.get('https://www.google.com')

2 个答案:

答案 0 :(得分:0)

据我所知,这只能通过Java和Python完成。

答案 1 :(得分:0)

启动Tor浏览器捆绑包后,我无法让最新的geckodriver(0.21.0)和Selenium(3.13.0)来获取网页。我认为这可能与Tor使用的旧版Firefox和geckodriver不兼容,但不确定。

如果您只是尝试使用selenium-webdriver来使用Tor网络,请尝试以下操作:

const webdriver = require('selenium-webdriver');
const firefox = require('selenium-webdriver/firefox');

var options = new firefox.Options();

options.setPreference('network.proxy.type', 1) // manual proxy config
       .setPreference('network.proxy.socks', '127.0.0.1')
       .setPreference('network.proxy.socks_port', 9050)
       .setPreference('network.proxy.socks_remote_dns', true) // resolve DNS over Tor
       .setPreference('network.proxy.socks_version', 5)


let driver = new webdriver.Builder()
    .forBrowser('firefox')
    .setFirefoxOptions(options)
    .build();

driver.get('https://example.com/')

您将需要使用专家捆绑包运行Tor或本地安装并运行它。

这是我尝试使Tor Browser自动化的方法。它可以正确启动所有内容,但从不导航到页面。

const webdriver = require('selenium-webdriver');
const firefox = require('selenium-webdriver/firefox');

var options = new firefox.Options();

options.setBinary('/home/me/Desktop/tor-browser_en-US/Browser/start-tor-browser');
options.addArguments('--detach');

(async function run() {
    let driver = await new webdriver.Builder()
        .forBrowser('firefox')
        .setFirefoxOptions(options)
        .build();

    await driver.get('https://example.com/')
})();

仅重申一下,第二个示例不起作用。在Mint 18和Tor浏览器7.5.6(FF ESR 52.9.0)上,它将启动Tor,并且浏览器运行良好,但不会导航到页面。