DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments(Arrays.asList("--start-maximized", "allow-running- insecure-content", "ignore-certificate-errors")); capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver webDriver = new RemoteWebDriver(new URL("http://www.google.com"), capabilities);
我有上面的代码来启动浏览器并转到URL。我做了一个 1. brew安装chromedriver 2.我确保/ usr / local / bin在路径变量中。 3.当我运行上面的代码时,它会在找到Element时出现空指针异常。 我正在运行mac os ..我该如何解决这个问题。我做了很多工作,相同的代码没有功能,只是给chromedriver路径工作之前...不知道为什么我不能让它运行..
答案 0 :(得分:0)
您的问题有两种解决方案:
确保您要使用RemoteWebDriver。如果您这样做,您将需要设置带有chrome节点的Selenium Grid。我不会在这里描述如何设置它,但使用docker设置本地网格+节点相当容易:https://github.com/SeleniumHQ/docker-selenium 如果您使用此功能,则需要将驱动程序更改为(假设网格位于本地主机上):
String hubURL = "http://localhost:4444/wd/hub";
WebDriver webDriver = RemoteWebDriver(new URL(hubURL), capabilities);
或使用ChromeDriver类而不是RemoteWebDriver:
WebDriver webDriver = new ChromeDriver(capabilities);
最后,要转到网页,您需要在驱动程序上使用get
方法:
webDriver.get(url);
答案 1 :(得分:0)
更新到最新的Chrome驱动程序修复了此问题。