【发布时间】:2017-08-09 09:27:26
【问题描述】:
我刚开始使用 Selenium,我刚开始使用一个简单的脚本来打开 Edge 并转到 google:
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;
public class openEdge
{
public static void main(String[] args)
{
System.setProperty("webdriver.edge.driver","E:\\Program Files
(x86)\\Microsoft Web Driver\\MicrosoftWebDriver.exe");
WebDriver driver = new EdgeDriver();
System.out.println("here");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get("https://www.google.com");
}
}
当我运行它时,Edge 成功打开,但在创建 Webdriver 实例后似乎失败(即不打印“here”)。这是我得到的错误:
Exception in thread "main" org.openqa.selenium.NoSuchSessionException: null (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 358 milliseconds
接着是构建和系统信息,然后是 EdgeDriver 的驱动程序信息的长列表。我已经向 selenium 客户端和服务器 jar 添加了依赖项。任何帮助将不胜感激!
编辑:根据要求构建、系统和驱动程序信息。我现在注意到构建信息都是未知的,我猜这与它有关。我会尝试重新下载我所有的依赖项:
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'myname', ip: 'myip', os.name: 'Windows 10',
os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_131'
Driver info: driver.version: EdgeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:215)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:167)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$22(ProtocolHandshake.java:365)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source)
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.findFirst(Unknown Source)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:368)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:159)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:137)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:150)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:139)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:96)
at openEdge.openEdge.main(openEdge.java:16)
【问题讨论】:
-
IMO 为进一步分析,我们需要从您的控制台查看确切的
Build and system info then a long list of driver info for the EdgeDriver。