如何在selenium-webdriver nodejs land中更改selenium用户代理?

And*_*Ray 5 javascript selenium node.js

我在javascript + mocha + node land.

我尝试将userAgent和'user-agent'设置为功能键:

var webdriver = require('selenium-webdriver');
var ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X)';

var driver = new webdriver.Builder().
     ...
     withCapabilities({ 'browserName': 'firefox',
        userAgent: ua,
        'user-agent': ua,
    }).
    build();
Run Code Online (Sandbox Code Playgroud)

这个答案,其说,使用Firefox的配置文件,但是这不暴露.没有driver.FirefoxProfile,也没有一个全球性暴露,也不webdriver.FirefoxProfile也不driver.profiles等.

我尝试过谷歌搜索和查看源代码文档,但没有任何内容.

pyr*_*rho 5

我使用此代码成功地使用WD更改了幻影的用户代理:

var capabilities = {
    'browserName': 'phantomjs',
    'phantomjs.page.settings.userAgent':  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.11 Safari/537.36'
};
return browser
    .init(capabilities)
...
Run Code Online (Sandbox Code Playgroud)

这个链接显示如何更改Firefox的用户代理,但所提供的代码是C#/ Ruby的.


And*_*Ray 1

无法使用 Firefox 执行此操作,但可以使用 Chrome 执行此操作。这是无证的:

var chrome = require('selenium-webdriver/chrome');

var opts = new chrome.Options();
opts.addArguments(['user-agent="YOUR_USER_AGENT"']);

var driver = new webdriver.Builder().
    withCapabilities(opts.toCapabilities()).
    build();
Run Code Online (Sandbox Code Playgroud)