Hig*_*ead 30 .net c# webdriver selenium-webdriver
System.addProperty("webdriver.chrome.driver", ".../chromedriver.exe");
在实例化驱动程序之前,我遇到了一些似乎已解决问题的问题.
我没有运气,我仍然得到文件.../bin/Debug/chromedriver.exe
不存在的错误.
有没有人有幸运行而不把它放在bin文件夹中?
示例代码:
System.Environment.SetEnvironmentVariable("webdriver.chrome.driver", @"c:\path\to\driver\chromedriver.exe");
BrowserDriver = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)
Jim*_*ans 65
由于您使用的是C#,因此您应该使用ChromeDriver的构造函数重载,它允许您指定包含chromedriver.exe的目录的路径.以机智:
IWebDriver driver = new ChromeDriver(@"C:\my\path\to\chromedriver\directory");
Run Code Online (Sandbox Code Playgroud)
Mca*_*nic 27
旧问题,新答案(为了它的价值):只需安装Nuget包Selenium.WebDriver.ChromeDriver.Chromedriver.exe将在下一个版本的bin/debug目录中.
在此GitHub的页面jsakamoto/nupkg -硒的webdriver-chromedriver /跑跑后Install-Package Selenium.WebDriver -Version 3.5.2
的chromedriver文件(.exe)位于此文件夹下
"{solution folder} /packages/Selenium.WebDriver.ChromeDriver.{ver}/driver/{platform}"
小智 18
这可能是因为NuGet包是从全局位置而不是.NET Framework项目的packages文件夹加载的.这对我有用:
IWebDriver driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
Run Code Online (Sandbox Code Playgroud)
you may have enum for your all drivers :
public enum Drivers
{
Chrome,
Firefox,
Safari,
Edge,
IE
}
public static IWebDriver GetDriver(Drivers driver)
{
Run Code Online (Sandbox Code Playgroud)
outPutDirectory - >是构建解决方案时复制所有支持dll和文件的位置.示例:C:\ Users\Mike\source\repos\Automation\Automation\bin\Debug
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
// below is my location where I copied all drivers like chromedriver.exe
Run Code Online (Sandbox Code Playgroud)
relativePath - >是构建soltuion示例时正在复制的文件夹之一:C:\ Users\Mike\source\repos\Automation\Automation\bin\Debug\BrowserDriver
var relativePath = @"..\..\bin\Debug\BrowserDriver";
Run Code Online (Sandbox Code Playgroud)
//因此,无论您在哪台机器或PC上运行自动化,'chromeDriverPath'都会为您提供驱动程序的准确位置
var chromeDriverPath = Path.GetFullPath(Path.Combine(outPutDirectory,relativePath));
// return this driver , just debug this code and check the "outPutDirectory" path
return new ChromeDriver(chromeDriverPath);
}
Run Code Online (Sandbox Code Playgroud)
小智 6
Selenium.WebDriver.ChromeDriver
从NuGet 安装,然后您可以执行以下操作:
IWebDriver driver = new ChromeDriver(Environment.CurrentDirectory);
Run Code Online (Sandbox Code Playgroud)