Chrome plugin generator for setting private proxies to use with Selenium
This module is based on https://github.com/RobinDev/Selenium-Chrome-HTTP-Private-Proxy
If you have different needs regarding the functionality, please add a feature request.
npm install --save selenium-chrome-proxy-plugin
For usage please refer to examples/index.js
.
Do not forget to put chromedriver
into same directory.
To run with debug output:
$ DEBUG=selenium-chrome-proxy-plugin node index
Module uses os.tmpdir()
for temporary files (it depends on OS;/tmp
for Linux).
Temp directory may be changed by providing tempDir
property in config:
Please, do not forget to call plugin.cleanpu()
to remove temporary files.
const proxyConfig = {
host: '<proxy_host>',
port: '<proxy_port>',
username: '<proxy_username>',
password: '<proxy_password>',
tempDir: './temp'
};
return new ProxyPlugin({
proxyConfig: proxyConfig
//chromeOptions: chromeOptions,
})
.then((plugin) => {
console.log('PLUGIN READY');
return new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(plugin.chromeOptions)
.build()
.then((driver) => plugin.cleanup()
.then(() => driver.get('http://whatismyip.host/'))
.then(() => console.log('DONE'))
)
;
})
.catch((err) => console.log('ERROR:', err))
;
It is also possible to provide chromeOptions
:
return new ProxyPlugin({ proxyConfig: config, options: chromeOptions })
.then((plugin) => {
...
May be used with callbacks:
return new ProxyPlugin({
proxyConfig: proxyConfig,
//chromeOptions: chromeOptions,
}, (err, plugin) => {
...
});
More info along with working examples may be found in examples
subdirectory.
github.com npmjs.com travis-ci.org coveralls.io inch-ci.org
MIT