网上一些讨论认为这个问题无解,WebDriver也没有找到相关参数,
直觉这个可能在启动参数里打开控制台,于是我写了一个假的 chrome.exe,再用 ChromeDriver.exe 调用他,代码如下:
import console;
import win.clip
win.clip.write(_CMDLINE)
console.log(_CMDLINE);
console.pause();
chrome.exe获得的启动参数如下:--disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-automation --enable-logging --force-fieldtrials=SiteIsolationExtensions/Control --ignore-certificate-errors --load-extension="C:\Users\***\AppData\Local\Temp\***\internal" --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=0 --test-type=webdriver --use-mock-keychain --user-data-dir="C:\Users\***\AppData\Local\Temp\***" data:, 我们看到可疑参数--enable-logging,
进一步测试发现:排除这个参数就可以关闭新版chrome启动跳出来的控制台窗口了,示例代码: import chrome.driver;
var driver = chrome.driver( );
driver.setOptions(
excludeSwitches ={"enable-logging"} //注意这里参数前千万不要加 --
)
driver.addArguments("--app=http://www.aardio.com")
var browser = driver.startBrowser();
已更新 chrome.driver 默认禁用控制台窗口, 但仍然可以使用 driver.addArguments("--enable-logging") 启用这个参数。
|