Passing options to chrome driver selenium(将选项传递给 chrome 驱动程序 selenium)
问题描述
我正在尝试禁用 Chrome 控制台的输出.如果我通过 --start-maximized 选项它工作正常.我可能有错误的命令?
I am trying to disable the output to the console for chrome. If I pass the --start-maximized option it works fine. I may have the wrong command?
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--silent"));
chrome = new ChromeDriver(_chromeservice,capabilities);
我也试过了
ChromeOptions options = new ChromeOptions();
options.addArguments("silent");
chrome = new ChromeDriver(options);
输出
启动 ChromeDriver 端口=26703 版本=23.0.1240.0日志=/Brett/workspace/TestNG/chromedriver.log[1214/161331:ERROR:ipc_sync_channel.cc(378)] 取消挂起的发送[1214/161331:ERROR:ipc_sync_channel.cc(378)] 取消挂起的发送[1214/161331:ERROR:ipc_sync_channel.cc(378)] 取消挂起发送块引用
Started ChromeDriver port=26703 version=23.0.1240.0 log=/Brett/workspace/TestNG/chromedriver.log [1214/161331:ERROR:ipc_sync_channel.cc(378)] Canceling pending sends [1214/161331:ERROR:ipc_sync_channel.cc(378)] Canceling pending sends [1214/161331:ERROR:ipc_sync_channel.cc(378)] Canceling pending sendsBlockquote
推荐答案
提示 Chromedriver ticket(关于 silent 选项),我查看了 ChromeDriverService.java,找到了的引用"webdriver.chrome.logfile".
Hinted by this Chromedriver ticket (about the silent option), I looked in the source of ChromeDriverService.java, and found a reference to "webdriver.chrome.logfile".
将 -Dwebdriver.chrome.logfile="/dev/null" 添加到我的 java 命令后,日志再次变得可读:无用的 ChromeDriver 日志不见了,而 System.out.println 调用和异常仍然显示在控制台中.
After adding -Dwebdriver.chrome.logfile="/dev/null" to my java command, the logs became readable again: The usless ChromeDriver logs were gone, while theSystem.out.println calls and exceptions are still shown in the console.
我用以下参数启动java(Linux/Mac):
I start java with the following parameters (Linux / Mac):
DIR=path/to/dir/containing/selenium/and/stuff
cd "$DIR" && java -cp "$DIR
:$DIR/output
:$DIR/bin/selenium-server-standalone-2.33.0.jar"
-Dwebdriver.chrome.driver="$DIR/bin/chromedriver"
-Dwebdriver.chrome.args="--disable-logging"
-Dwebdriver.chrome.logfile="/dev/null"
AllTests
如果您使用的是 Windows:
If you're on Windows:
set DIR=path odircontainingseleniumandstuff
cd "%DIR%" && java -cp "%DIR%;%DIR%output;%DIR%inselenium-server-standalone-2.33.0.jar" ^
-Dwebdriver.chrome.driver="%DIR%inchromedriver.exe" ^
-Dwebdriver.chrome.args="--disable-logging" ^
-Dwebdriver.chrome.logfile=NUL ^
AllTests
<小时>
我的类路径(-cp)的组成说明:我的测试位于$DIR/output"的目录中.Selenium jar 文件放在$DIR/bin/selenium-server-standalone-2.33.0.jar"中.AllTests"是包含 public static void main(String[] args) 的类的名称 - 这会启动我的测试.
Explanation for the composition of my classpath (-cp): My tests are located in a directory at "$DIR/output". The Selenium jar file is placed in "$DIR/bin/selenium-server-standalone-2.33.0.jar". "AllTests" is the name of my class containing public static void main(String[] args) - this launches my tests.
其他参数不言自明,请根据需要进行调整.为方便起见(在 shell/批处理脚本中使用),我在变量 DIR 中声明了公共目录.
The other parameters are self-explanatory, adjust it to your needs. For convenience (used in a shell/batch script), I've declared the common directory in a variable DIR.
这篇关于将选项传递给 chrome 驱动程序 selenium的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将选项传递给 chrome 驱动程序 selenium
基础教程推荐
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- 如何对 Java Hashmap 中的值求和 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- Struts2 URL 无法访问 2022-01-01
