我正在使用Selenium web驱动程序c#创建一个控制台应用程序,我的项目中有一个包含Chromedriver.exe的文件夹。我想在我的文件中给出该文件夹的路径。我该怎么做?
IWebDriver driver = new ChromeDriver(@"C:\Users\sharmaash\Documents\Software\chromedriver_win32")
我在我的代码中使用了这个,我需要在上面提到的代码行中进行哪些更改?
我想在chromedriver.exe中给出一个路径:
IWebDriver driver = new ChromeDriver(@"C:\Users\sharmaash\Documents\Software\chromedriver_win32")
右边我正在使用我的本地系统路径。背后的原因是我想创建一个我的应用程序的exe文件,为此我想给出相对路径。
答案 0 :(得分:1)
我建议使用NuGet来管理依赖项。它会自动将chromedriver.exe复制到输出文件夹。
另一个解决方案是将chromedriver.exe添加到项目然后设置属性"复制到输出目录"如果更新则复制。
然后您可以通过以下方式创建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);