将PhantomJS命令行选项指定为Selenium PhantomJSDriver

本文关键字:Selenium PhantomJSDriver PhantomJS 命令行 选项 | 更新日期: 2023-09-27 18:24:18

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

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

但这似乎并不奏效。PhantomJSDriver是否允许传递命令行参数?

将PhantomJS命令行选项指定为Selenium PhantomJSDriver

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

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

(代表Geoff McElhanon)增加了对通过辩论的支持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命令行的参数列表中
添加参数(IEnumerable):添加要附加到PhantomJS.exe命令行的参数
AddArguments(String[]):添加要附加到PhantomJS.exe命令行的参数。