[解决问题]selenium.remote.UnreachableBrowserException 异常分析并解决问题

本文探讨了在使用Selenium进行自动化测试时遇到的IEDriver启动失败问题,并提供了可能的解决方案,包括检查路径配置、禁用防火墙等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	

I have a set of automations that work fantastically in Firefox and Chrome, and I'd like to launch an instance of IEDriver as well.

I've set up IEDriver as per Selenium's Google Code wiki, with the correct path (if I change the path I get a different exception, so it's definitely correct). But for some reason it still can't launch, and just times out.

The code to launch it (the last line throws the exception):

        File ieDriver = new File("C:/Users/whatever/path/IEDriverServer.exe");
        System.setProperty("webdriver.ie.driver", ieDriver.getAbsolutePath());
        WebDriver ie = new InternetExplorerDriver();

And the exception is:

Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_21'
Driver info: driver.version: InternetExplorerDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:201)
    at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:184)
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:174)
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:143)
    at uk.co.know.kiteTest.WebDriverManager.<init>(WebDriverManager.java:52)
    at uk.co.know.kiteTest.RunAutomations.main(RunAutomations.java:13)
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_21'
Driver info: driver.version: InternetExplorerDriver
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:165)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:62)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527)
    ... 7 more
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:38622/status] to be available after 20014 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:104)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:163)
    ... 9 more
Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143)
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:79)
    ... 10 more

 

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser

出现这种异常的问题官方给了两种可能的原因:( 官方链接:http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/remote/UnreachableBrowserException.html)

Indicates there was a problem communicating with the browser being controlled or the Selenium server. The most common causes for this exception are:

    1.The provided server address to RemoteWebDriver is invalid, so the connection could not be established.
    2.The browser has died mid-test.

第一种,是说远程ip可能有问题,所有连接不上,这个应该归为一大类,凡是连接其他PC都没有问题,唯独这台电脑有问题,那么毫无疑问,就是ip连接方面的问题。

第二种,浏览器的问题。

 

我的电脑是ping 都ping 不通,然后关闭掉远程连接的机器的防火墙,ping 的通之后,再连接一下就成功了。

当然也有可能是程序有问题,可参见http://www.cnblogs.com/amosli/p/3409024.html这篇文章。

<think>我们正在处理用户关于SeleniumRemoteWebDriver类的问题。用户希望找到该类的文件下载或文档说明。根据提供的引用,我们可以整合信息来回答用户。 首先,引用[1]提到了WebDriverWait的JavaDoc文档位置,这暗示了SeleniumJava文档通常位于类似的路径下。我们可以推断RemoteWebDriver的文档可能在同一个域名下。 引用[3]和[5]提供了Selenium官方文档的链接,这是查找任何类文档的首选位置。 引用[4]提到了在解决依赖问题时添加了selenium-remote-driver依赖,这提示我们RemoteWebDriver类可能位于selenium-remote-driver这个jar包中。 因此,我们可以从以下几个方面提供帮助: 1. 官方JavaDoc文档链接:我们可以构造RemoteWebDriver类的文档链接。 2. 官方文档中关于RemoteWebDriver的说明:Selenium官方文档中可能有详细说明。 3. 如何下载jar文件:如果用户需要下载包含该类的jar文件,我们可以指导用户通过Maven仓库下载。 具体步骤: 1. 文档链接:根据引用[1]的格式,我们可以尝试构造RemoteWebDriver的文档链接: https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/RemoteWebDriver.html 2. 官方文档:引用[3]提供了Selenium官方文档入口,我们可以建议用户在此查找RemoteWebDriver的详细说明。同时,官方文档中可能有关于RemoteDriver的章节。 3. 下载jar:用户可以通过Maven中央仓库(https://mvnrepository.com/)搜索“selenium remote driver”来找到对应的jar文件下载。 另外,根据引用[4]的经验,使用RemoteWebDriver可能需要正确的依赖配置,因此我们也可以提醒用户注意依赖问题。 现在,我们可以给用户一个清晰的回答。</think>### org.openqa.selenium.remote.RemoteWebDriver 资源说明 #### 📚 1. 官方文档 `RemoteWebDriver` 是 Selenium WebDriver 的核心实现类,用于控制远程浏览器实例。完整文档可通过以下方式获取: - **JavaDoc 文档**: [https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/RemoteWebDriver.html](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/RemoteWebDriver.html) 包含类结构、方法说明和用法示例[^1][^3]。 - **Selenium 官方文档**: [https://www.selenium.dev/documentation/](https://www.selenium.dev/documentation/) 在 "WebDriver" 和 "RemoteWebDriver" 章节有详细说明[^3][^5]。 #### 📦 2. 类文件获取 该类包含在 `selenium-remote-driver` 库中,可通过以下方式下载: 1. **Maven 依赖**(推荐): ```xml <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> <version>4.10.0</version> <!-- 检查最新版本 --> </dependency> ``` 2. **直接下载 JAR**: 访问 Maven 仓库: [https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-remote-driver](https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-remote-driver) #### ⚠️ 3. 使用注意事项 1. **版本兼容性**:需确保浏览器驱动(如 ChromeDriver)版本与 `selenium-remote-driver` 严格匹配[^2][^4]。 2. **依赖配置**:若出现 `NoClassDefFoundError`,需检查是否包含所有必要依赖: ```xml <!-- 基础依赖 --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.10.0</version> </dependency> ``` 3. **远程连接**:需启动 Selenium Server 或 Grid 节点: ```java WebDriver driver = new RemoteWebDriver(new URL("http://grid-url/wd/hub"), capabilities); ``` #### 💡 4. 参考示例 ```java // 创建远程驱动实例 DesiredCapabilities caps = new DesiredCapabilities(); caps.setBrowserName("chrome"); WebDriver driver = new RemoteWebDriver( new URL("http://localhost:4444/wd/hub"), caps ); // 执行自动化操作 driver.get("https://example.com"); System.out.println(driver.getTitle()); driver.quit(); ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值