1

很长一段时间以来,我一直试图让 PhantomJS ( 1.9.7 )/GhostDriver 使用一些自定义设置进行初始化,但完全没有成功。我使用 wd.js 作为我的 WebDriver 库,并且我尝试了几乎所有我能想到的属性组合,但是没有任何效果,而且我找不到任何文档。

这是我尝试传递的内容(为了理智而缩短了 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 中的设置?

4

1 回答 1

2

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

{
    "browserName": "phantomjs",
    "phantomjs.page.settings.userAgent": "foo"
}
于 2014-06-22T00:03:30.303 回答