【发布时间】:2015-11-13 19:12:48
【问题描述】:
我遇到了一个似乎是 selenium 中的错误的问题,但也许有人可以提示我解决方案。
11 个月前有人问过类似的问题,请参阅:How can I change logfile path of phantomjs with selenium? 但没有解决。
我在 Perl 中使用 Selenium::Remote::Driver 连接到 selenium。我的代码如下所示:
my $driver = new Selenium::Remote::Driver(
'remote_server_addr' => 'localhost',
'port' => "4444",
'browser_name' => 'phantomjs',
extra_capabilities => {
'phantomjs.cli.args' => ['--webdriver-logfile=/tmp/phantomjsdriver.log']
}
);
我发现 phantomjs 开发人员已经集成了参数 phantomjs.cli.args 来将参数传递给 phantomjs。参数显示,但不幸的是添加到默认参数。
查看 selenium 的日志文件:
10:20:29.207 INFO - Creating a new session for Capabilities [{platform=ANY, javascriptEnabled=true, acceptSslCerts=true, phantomjs.cli.args=[--webdriver-logfile=/tmp/phantomjsdriver.log], browserName=phantomjs, version=}]
10:20:29.208 INFO - executable: /usr/local/node/bin/phantomjs
10:20:29.208 INFO - port: 5710
10:20:29.208 INFO - arguments: [--webdriver-logfile=/tmp/phantomjsdriver.log, --webdriver=5710, --webdriver-logfile=/phantomjsdriver.log]
10:20:29.208 INFO - environment: {}
PhantomJS is launching GhostDriver...
Unable to open file '/phantomjsdriver.log'
在第 4 行,您可以看到我的参数已通过,但默认的“--webdriver-logfile=/phantomjsdriver.log”也是参数的一部分。
我也尝试将日志级别设置为 NONE,但它还是会尝试打开日志文件。
最后我尝试使用配置文件启动 phantomjs,但我无法确定日志文件的配置选项,我不确定这会有所帮助。
如果这很重要,我的 selenium 服务器会作为守护进程运行。
感谢任何帮助!
祝你有美好的一天
【问题讨论】:
-
stackoverflow.com/questions/30805635/… 见@Siul 的回答