C#:如何在代码中提供内部项目路径?

时间:2016-02-03 08:47:05

标签: c# selenium selenium-chromedriver

我正在使用Selenium web驱动程序c#创建一个控制台应用程序,我的项目中有一个包含Chromedriver.exe的文件夹。我想在我的文件中给出该文件夹的路径。我该怎么做?

IWebDriver driver = new ChromeDriver(@"C:\Users\sharmaash\Documents\Software\chromedriver_win32")

我在我的代码中使用了这个,我需要在上面提到的代码行中进行哪些更改?

我需要访问的本地文件夹的屏幕截图: enter image description here

我想在chromedriver.exe中给出一个路径: IWebDriver driver = new ChromeDriver(@"C:\Users\sharmaash\Documents\Software\chromedriver_win32")右边我正在使用我的本地系统路径。背后的原因是我想创建一个我的应用程序的exe文件,为此我想给出相对路径。

2 个答案:

答案 0 :(得分:1)

我建议使用NuGet来管理依赖项。它会自动将chromedriver.exe复制到输出文件夹。 NuGet install chromedriver

另一个解决方案是将chromedriver.exe添加到项目然后设置属性"复制到输出目录"如果更新则复制。 Add chromedriver.exe to project

Set value to Copy if Newer

然后您可以通过以下方式创建ChromeDriver:

IWebDriver driver = new ChromeDriver();

答案 1 :(得分:0)

您可以将路径保留在配置文件中,而不是对其进行硬编码,然后从那里获取它。其次,您可以使用以下语句获取应用程序代码库的路径,应用程序代码所在的位置,并将其提供给ChromeDriver构造函数

System.Reflection.Assembly.GetExecutingAssembly()。CodeBase

动态路径获取 e.g。

string driverPath = System.Reflection.Assembly.GetExecutingAssembly()。CodeBase; IWebDriver driver = new ChromeDriver(driverPath);