一尘不染

为Selenium PhantomJSDriver指定PhantomJS命令行选项

selenium

PhantomJS驱动程序是否支持命令行参数?我需要使用PhantomJS驱动程序运行Selenium测试并禁用Web安全。我努力了:

PhantomJSOptions options = new PhantomJSOptions();           
options.AddAdditionalCapability("web-security",false);             
driver = new PhantomJSDriver(Environment.CurrentDirectory + @"\drivers", options);

但这似乎不起作用。PhantomJSDriver是否允许传递命令行参数?


阅读 255

收藏
2020-06-26

共1个答案

一尘不染

您可以--web- security使用PhantomJSDriverService.WebSecurity属性指定PhantomJS的命令行选项,而不是将其传递为PhantomJSOptions

这是在Selenium 2.32.0中添加的,这是CHANGELOG的引文:

(代表GeoffMcElhanon)添加了将参数传递给PhantomJS的支持。PhantomJSDriverService现在具有PhantomJS支持的所有命令行开关的类型安全属性。这些可以直接在命令行上传递,也可以序列化为JSON文件,以便通过
–config命令行开关传递到PhantomJS。

以下是未经测试的代码,请在必要时参考文档(Selenium zip文件中的WebDriver.chm)。

var service = PhantomJSDriverService.CreateDefaultService(Environment.CurrentDirectory + @"\drivers");
service.WebSecurity = false;
var driver = new PhantomJSDriver(service);

PhantomJSDriverService还有其他可以指定的预定义命令行参数,请查看文档。也有添加自己的参数的方法。

AddArgument(): 将单个参数添加到要附加到PhantomJS.exe命令行的参数列表中。
AddArguments(IEnumerable): 添加要附加到PhantomJS.exe命令行的参数。
AddArguments(String []): 添加要附加到PhantomJS.exe命令行的参数。

2020-06-26