为了账号安全,请及时绑定邮箱和手机立即绑定

.java 使用铬驱动程序和铬使用硒和爪哇

.java 使用铬驱动程序和铬使用硒和爪哇

宝慕林4294392 2022-09-22 10:48:34

我试图简单地启动chrome驱动程序,但得到一些超时错误。浏览器确实启动了,但在几秒钟后关闭,但有以下例外:


系统信息:


Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'

System info: host: 'MAC-images-MacBook-Pro-1164.local', ip: '----', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_172'

Driver info: driver.version: ChromeDriver] with root cause

at java.util.concurrent.FutureTask.get(FutureTask.java:205)

~[na:1.8.0_172]     at

com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)

~[guava-25.0-jre.jar:na]    at

org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)

~[selenium-remote-driver-3.14.0.jar:na]     at

org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:188)

~[selenium-remote-driver-3.14.0.jar:na]     at

org.openqa.selenium.remote.service.DriverService.start(DriverService.java:179)

~[selenium-remote-driver-3.14.0.jar:na]     at

org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)

~[selenium-remote-driver-3.14.0.jar:na]     at

org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)

~[selenium-remote-driver-3.14.0.jar:na]     at

代码截图:


@Component

public class AutomationRunner implements IAutomationRunner {




    @Override

    public void run() throws MalformedURLException {

        System.setProperty("webdriver.chrome.driver",

            "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome");


        ChromeDriver driver = new ChromeDriver();

        driver.get("www.google.com");

        driver.close();

        driver.quit();

    }

}

已使用的软件包 :


 <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-java</artifactId>

        <version>3.141.59</version>

 </dependency>

关于我在这里错过了什么的任何想法?谢谢!


查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1486条经验 获得超8个赞

此错误消息...


Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'

System info: host: 'MAC-images-MacBook-Pro-1164.local', ip: '----', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_172'

Driver info: driver.version: ChromeDriver

.

com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)

~[guava-25.0-jre.jar:na]    at

org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)

...这意味着浏览器驱动程序无法启动/生成新的网络浏览器,即浏览器浏览器会话。


您的主要问题是在您传递了谷歌浏览器二进制文件而不是Chrome驱动程序二进制文件的绝对路径的行内。System.setProperty()


溶液

您需要下载适用于Mac OS X的相关Chrome驱动程序二进制文件,即chromedriver_mac64并将其放置在系统中的任何位置,提取Chrome驱动程序二进制文件并在以下位置传递绝对路径:System.setProperty()


System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");


查看完整回答
反对 回复 2022-09-22
?
缥缈止盈

TA贡献1704条经验 获得超2个赞

我遇到了同样的问题。还有另一种解决方案。

硒需要番石榴。将下面的依赖关系作为maven依赖关系添加到pom.xml。

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>25.0-jre</version>
</dependency>

https://stackoverflow.com/a/59631425/6491408


查看完整回答
反对 回复 2022-09-22

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信