【发布时间】:2022-01-20 14:24:48
【问题描述】:
我正在尝试使用 Java Selenium WebDriver 捕获网页的所有 javascripts 错误。
这是我的代码示例:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.logging.LogEntries;
import org.openqa.selenium.logging.LogType;
public class MainExample {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "path_to_driver/geckodriver");
FirefoxOptions options = new FirefoxOptions();
WebDriver driver = new FirefoxDriver(options);
driver.get("https://www.google.com");
LogEntries entries = driver.manage().logs().get(LogType.BROWSER);
}
}
作为 Firefox 驱动,我使用的是这个版本:geckodriver-v0.30.0-linux64.tar.gz
这是我的 Selenium 版本:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.1</version>
</dependency>
我的问题是在运行之前的代码时出现以下异常:
驱动程序信息:driver.version:RemoteWebDriver at org.openqa.selenium.json.JsonInput.peek(JsonInput.java:122) 在 org.openqa.selenium.json.JsonTypeCoercer.lambda$null$6(JsonTypeCoercer.java:140) 在 org.openqa.selenium.json.JsonTypeCoercer.coerce(JsonTypeCoercer.java:126) 在 org.openqa.selenium.json.Json.toType(Json.java:69) 在 org.openqa.selenium.json.Json.toType(Json.java:55) 在 org.openqa.selenium.json.Json.toType(Json.java:50) 在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:87) 在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) 在 org.openqa.selenium.remote.RemoteExecuteMethod.execute(RemoteExecuteMethod.java:35) 在 org.openqa.selenium.remote.RemoteLogs.getRemoteEntries(RemoteLogs.java:81) 在 org.openqa.selenium.remote.RemoteLogs.get(RemoteLogs.java:77) 在 MainExample.main(MainExample.java:17)
如果我在有一些 Java 脚本错误的自定义页面上运行代码,我会在日志中看到它们:
JavaScript 错误:http://localhost/js/app.js?version=625f9736,第 1 行: 类型错误:e 未定义
但我无法使用
检索它们driver.manage().logs().get(LogType.BROWSER);
我尝试了this related subject 的不同代码,但每次都出现此错误。
我也尝试将我的 selenium 版本降级到 3.141.59,但我仍然遇到同样的错误。
【问题讨论】:
标签: javascript java selenium selenium-webdriver