首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法为RemoteWebDriver启用性能级别

无法为RemoteWebDriver启用性能级别
EN

Stack Overflow用户
提问于 2021-11-24 15:23:58
回答 1查看 28关注 0票数 0

我正在尝试为Java Selenium中的RemoteWebDriver启用性能日志记录。我有这样的代码:

代码语言:javascript
运行
复制
public WebDriver getDriver() {
  ChromeOptions chromeOptions = new ChromeOptions();
  chromeOptions.addArguments(arguments);
  chromeOptions.setAcceptInsecureCerts(acceptInsecureCerts);

  DesiredCapabilities desiredCapabilites = DesiredCapabilities.chrome();
  LoggingPreferences logPrefs = new LoggingPreferences();
  logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
  desiredCapabilites.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
  desiredCapabilites.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

  return new RemoteWebDriver(new URL(url), desiredCapabilites);
}

稍后尝试访问性能日志时,如下所示:

代码语言:javascript
运行
复制
driver.manage().logs().get("performance")

我得到以下错误:

代码语言:javascript
运行
复制
org.openqa.selenium.InvalidArgumentException: invalid argument: log type 'performance' not found
  (Session info: headless chrome=95.0.4638.69)
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'tr-glass-gather-crawler-workerjrsgs-pod-mfk8b', ip: '172.21.62.217', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.120+', java.version: '11.0.8'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities {acceptInsecureCerts: true, browserName: chrome, browserVersion: 95.0.4638.69, chrome: {chromedriverVersion: 95.0.4638.54 (d31a821ec901f..., userDataDir: /tmp/.com.google.Chrome.vRBs3j}, goog:chromeOptions: {debuggerAddress: localhost:36139}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), se:cdp: ws://172.21.62.217:4444/ses..., se:cdpVersion: 95.0.4638.69, se:vnc: ws://172.21.62.217:4444/ses..., se:vncEnabled: true, se:vncLocalAddress: ws://172.21.62.217:7900, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:virtualAuthenticators: true}
Session ID: d595d868024953284123f1c300378445
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
        at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
        at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
        at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
        at org.openqa.selenium.remote.RemoteExecuteMethod.execute(RemoteExecuteMethod.java:35)
        at org.openqa.selenium.remote.RemoteLogs.getRemoteEntries(RemoteLogs.java:81)
        at org.openqa.selenium.remote.RemoteLogs.get(RemoteLogs.java:77)
        at com.wayfair.glass.gather.worker.crawler.WFPartnerCrawlerFacadeImpl.navigate(WFPartnerCrawlerFacadeImpl.java:110)
        at com.wayfair.glass.gather.worker.plugin.impl.CrawlerGatherPlugin.internalRun(CrawlerGatherPlugin.java:93)
        at com.wayfair.glass.gather.worker.plugin.impl.CrawlerGatherPlugin.run(CrawlerGatherPlugin.java:69)
        at com.wayfair.glass.gather.worker.plugin.PluginRunner.run(PluginRunner.java:45)
        at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:819)
        at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:803)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:346)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1340)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329)
        at com.wayfair.glass.gather.worker.GlassGatherWorkerApplication.main(GlassGatherWorkerApplication.java:12)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)

如果我使用ChromeDriver而不是RemoteWebDriver,这似乎是可行的。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-25 08:31:18

显然改变了这一点:

代码语言:javascript
运行
复制
desiredCapabilites.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);

要这样做:

代码语言:javascript
运行
复制
desiredCapabilites.setCapability("goog:loggingPrefs", logPrefs);

解决了它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70098690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档