selenium找不到chromedriver.exe
我们正在升级到.NET Core,并且我们有一个使用Selenium进行某些任务的爬网引擎。我们使用chromedriver.exe
它,并且在.NET
4.6.1中可以正常工作。
对于.NET Core,我们创建了一个控制台应用程序,并添加了以下软件包:
<ItemGroup> <PackageReference Include="Selenium.WebDriver" Version="3.8.0" />
<PackageReference Include="Selenium.Support" Version="3.7.0" />
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="2.34.0" />
</ItemGroup>
但是,当我运行代码时,出现以下错误:
chromedriver.exe文件在当前目录或PATH环境变量上的目录中不存在。可以从http://chromedriver.storage.googleapis.com/index.html下载该驱动程序。
我可以看到构建后将其chromedriver.exe
复制到bin\Debug\netcoreapp2.0
文件夹。我还手动将其复制到bin\Debug
文件夹。但是在两种情况下都找不到。
我在这里想念什么?
回答:
我无法解释为什么它会这样工作,但这就是我如何使其工作。
IWebDriver driver = new ChromeDriver(".");
最初,我将驱动程序复制到与我相同的目录中,Program.cs
并将其传递到驱动程序的路径中,如下所示:
IWebDriver driver = new ChromeDriver("chromedriver.exe");
这导致了此消息:
文件chromedriver.exe \ chromedriver.exe不存在。
因此,我只是为了踢球而尝试通过"."
这条路,并且它起作用了。
这可能是一个更好的解决方案。驱动程序必须与您的应用程序代码位于同一目录中。不在/bin
目录中,它将起作用。
IWebDriver driver = new ChromeDriver(Directory.GetCurrentDirectory());
以上是 selenium找不到chromedriver.exe 的全部内容, 来源链接: utcz.com/qa/404581.html