当前位置: 首页 > 面试题库 >

为Selenium PhantomJSDriver指定PhantomJS命令行选项

匡玉堂
2023-03-14
问题内容

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

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

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


问题答案:

您可以--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命令行的参数。



 类似资料:
  • Node.js 自带了各种命令行选项。 这些选项开放了内置的调试、执行脚本的多种方式、以及其他有用的运行时选项。运行 man node 可在一个终端中查看操作手册。 概要 node [options] [v8 options] [script.js | -e "script" | -] [--] [arguments] node debug [script.js | -e "script" | <

  • Shebang 行 几乎每个 Perl 程序都如此开始: #!/usr/bin/perl 这是 UNIX 结构,它告诉 Shell 直接执行余下的输入程序文件。 你可以在此行添加 Perl 的任何命令行选项,它们将成为选项之后命令行的一部分。 如果你有一个程序包含: #!/usr/bin/perl -T 然后执行: perl -l program.pl -l 和 -T 两个选项都会使用,但

  • 问题内容: 我最近打算测试从python作为命令行参数运行phantomJS,我还不了解它,但是看到了例子。因为PhantomJS是从命令行运行的,所以这似乎是可行的。PhantomJS吐出的结果将直接进入变量。 在我走这条路之前,在node.js中进行这项工作实际上对我来说更有用,这让我开始思考,当程序从命令行运行并存储数据结果时,我是否可以使用node来运行PhantomJS PhantomJ

  • Ruby 一般是从命令行运行,方式如下: 解释器可以通过下列选项被调用,来控制解释器的环境和行为。 选项 描述 -a 与 -n 或 -p 一起使用时,可以打开自动拆分模式(auto split mode)。请查看 -n 和 -p 选项。 -c 只检查语法,不执行程序。 -C dir 在执行前改变目录(等价于 -X)。 -d 启用调试模式(等价于 -debug)。 -F pat 指定 pat 作为默

  • Envoy由JSON配置文件以及一组命令行选项驱动。以下是Envoy支持的命令行选项。 -c \, --config-path \ (必选)指向v1或v2 JSON/YAML/proto3配置文件)的路径。若设置-v2-config-only选项,则将被解析为一个v2引导配置文件,如果是v1 JSON配置文件,则返回失败。对于v2配置文件,有效的扩展名是.json,.yaml,.pb和.pb_te

  • 问题内容: 我正在使用getopt处理命令行可选参数,该参数应接受列表。像这样: 但这会修剪“ [1,”之后的所有内容 我的问题是:A)有没有一种方法可以指定列表而不将其转换为字符串?(使用getopt) B)如果我要将列表转换成字符串,如何将这个列表转换成字符串?例如像mylist.split(“?”)这样的东西可以消除方括号?有没有更好的办法? 谢谢 问题答案: 我可以想到两种选择: 使用op