通过WebDriver / GhostDriver将参数传递给PhantomJS

时间:2014-06-21 18:55:45

标签: javascript selenium phantomjs ghostdriver

我一直在尝试使用一些自定义设置初始化PhantomJS(1.9.7)/ GhostDriver,但是已经完全失败了。我使用wd.js作为我的WebDriver库,我已经尝试了几乎所有我能想到的属性组合,但是没有任何工作,而且我还没有找到任何文档。< / p>

这是我尝试传递的内容(userAgent为了理智而缩短,在我的实际测试用例中它是真实的):

{ browserName: "phantomjs", "userAgent": "foo" }

{ browserName: "phantomjs", "settings": { "userAgent": "foo" } }

{ browserName: "phantomjs", "page": { "userAgent": "foo" } }

{ browserName: "phantomjs", "page": { "settings": { "userAgent": "foo" } } }

{ browserName: "phantomjs", "phantomjs": { "page": { "userAgent": "foo" } } }

{ browserName: "phantomjs", "phantomjs": { page": { "settings": { "userAgent": "foo" } } } }

更实际的是,使用https://github.com/detro/ghostdriver#what-extra-webdriver-capabilities-ghostdriver-offers中可以想到的几乎所有键组合。

在使用Webdriver / Ghostdriver时,有没有人知道你需要传递什么来自定义PhantomJS中的设置?

1 个答案:

答案 0 :(得分:2)

嗯,这很不直观。当文档说该属性为phantomjs.page.settings.userAgent时,可以预期它遵循正常的javascript约定。不是这样,关键是LITERALLY phantomjs.page.settings.userAgent,所以我的问题的答案是:

{
    "browserName": "phantomjs",
    "phantomjs.page.settings.userAgent": "foo"
}