如果实例化EdgeDriver,则会发生异常。
【例外情况】
未处理的类型' System.InvalidOperationException' 发生在WebDriver.dll
中附加信息:没有这样的驱动程序(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选项)
ConsoleApplication.Program.Main(String [] args)
环境如下。
以下代码中发生异常。
IWebDriver webDriver =新的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();
}
}
}
会考虑哪些问题?
答案 0 :(得分:0)
根据经验,我的第一个猜测是您运行的是不正确的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/