如果您实例化EdgeDriver,则会发生异常 .
【例外情况】
WebDriver.dll中发生未处理的“System.InvalidOperationException”类型的异常附加信息:没有这样的驱动程序(NoSuchDriver)
【堆栈跟踪】
OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2 parameters)OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)OpenQA.Selenium.Remote .RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities desiredCapabilities)OpenQA.Selenium.Edge.EdgeDriver..ctor(String edgeDriverDirectory,EdgeOptions options)ConsoleApplication.Program.Main(String [] args)
环境如下 .
-
操作系统:Windows 10专业版
-
VS.NET:2015企业版
-
Selenium WebDriver API .NET:版本2.48.00
以下代码中发生异常 .
IWebDriver webDriver = new EdgeDriver(serverPath, options);
using OpenQA.Selenium;
using OpenQA.Selenium.Edge;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string serverPath = "Microsoft Web Driver";
if (System.Environment.Is64BitOperatingSystem)
{
serverPath = Path.Combine(System.Environment.ExpandEnvironmentVariables("%ProgramFiles(x86)%"), serverPath);
}
else
{
serverPath = Path.Combine(System.Environment.ExpandEnvironmentVariables("%ProgramFiles%"), serverPath);
}
EdgeOptions options = new EdgeOptions();
options.PageLoadStrategy = EdgePageLoadStrategy.Eager;
IWebDriver webDriver = new EdgeDriver(serverPath, options); // Exception occured!!
webDriver.Url = "https://www.google.co.jp";
IWebElement element = webDriver.FindElement(By.Name("q"));
element.SendKeys("test");
element.Submit();
}
}
}
会考虑哪些问题?
1 回答
我根据经验的第一个猜测是你运行的是不正确的MicrosoftWebDriver.exe版本 . 可执行文件是使用Windows构建的,但是单独发布,并且依赖于与运行的操作系统相同的构建 . 您可以按照以下步骤找到您所使用的操作系统版本:
转到开始>设置>系统>关于并表示操作系统构建 .
到目前为止的发布是:
Windows 10 - TH1 - 10240 Windows 10秋季更新 - TH2 - 10586 Windows 10周年更新 - RS1 - 14393
接下来,您将要访问我们的WebDriver页面并选择相应的下载:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/