java - Selenium Webdriver - Opera - 无法从渲染器接收消息

标签 java selenium selenium-webdriver

我正在尝试使用 Opera(版本 31)运行 Java selenium 测试。我正在使用 Selenium Webdriver 的最新版本 (2.47.1) 和 OperaChromiumDriver 的最新版本(0.2.2).
我尝试使用下一个方法来实例化 Opera:

 System.setProperty("webdriver.chrome.driver", "\\path\\to\\my\\operadriver.exe");
 WebDriver driver = new ChromeDriver();

我尝试了使用 RemoteWebdriver 的另一种方法:

DesiredCapabilities capabilities = DesiredCapabilities.opera();
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/opera");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:9515"),capabilities);

(这些方法在这个问题的答案中有描述:How to use OperaChromiumDriver for opera version >12.X)

两种方法都有同样的问题。 Opera 打开,但随后因下一个异常而崩溃:

org.openqa.selenium.SessionNotCreatedException: session not created exception from disconnected: Unable to receive message from renderer
(Session info: Opera with embedded Chromium 0.1889.230)
(Driver info: OperaDriver=0.2.0 (ba47709ed9e35ce26dbd960fb5d75be104290d96),platform=Windows NT 6.1 x86_64
(WARNING: The server did not provide any stacktrace information)

Firefox、Chrome 和 IE 驱动程序正常工作,我仅在使用 OperaChromiumDriver 时遇到这样的问题。
谁能帮我解决这个问题吗?

最佳答案

尝试像这样实例化 OperaDriver:

File operaFile = new File("\\path\\to\\my\\operadriver.exe");
System.setProperty("webdriver.opera.driver", operaFile.getAbsolutePath());
WebDriver driver = new OperaDriver();

在我的应用程序中,.getAbsolutePath() 有效,但仅在 .setProperty 中指定路径则无效。不知道为什么,因为两者的字符串输出是相同的。

不幸的是,我仍然无法在测试中使用 OperaDriver,因为它在加载几个页面后变得无响应。此问题发生在运行不同版本 Windows 的 3 台不同计算机上,并且仅返回以下错误:

[SEVERE]: Timed out receiving message from renderer:

FirefoxDriver、ChromeDriver 和 InternetExplorerDriver 在我的测试中都运行良好,所以,无论如何。

关于java - Selenium Webdriver - Opera - 无法从渲染器接收消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32417041/

相关文章:

php - 使用 PHP Selenium Webdriver 单击下拉菜单中的选项?

java - CSV 文件在压缩后被更改为字节数组

Java 按位运算 VS BigInteger

Java HashSet 包含对象

python - 如何解决 VS 代码中没有名为 'selenium' 的模块?

java - Chrome 驱动程序无法在 Win XP 上加载

java - Selenium 网络驱动程序 : Variable for different countries

java - FluentWait 类型不是通用的;无法通过 Selenium 和 Java 使用 FluentWait 类的参数 <WebDriver> 错误进行参数化

java - 如何使用 Selenium 选择不同的元素?

Java从数组中检索对象