我们正在升级到.NET核心,我们有一个爬行引擎,在某些任务中使用Selenium。我们使用chromedriver.exe,它在.NET 4.6.1中工作得很好。
对于.NET核心,我们创建了一个控制台应用程序,并添加了以下软件包:
<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文件夹。但在这两种情况下都找不到。
我在这里错过了什么?
发布于 2017-12-20 17:57:17
我无法解释为什么它是这样工作的,但我就是这样让它起作用的。
IWebDriver driver = new ChromeDriver(".");最初,我将驱动程序复制到与我的Program.cs相同的目录中,并将路径传递给驱动程序,如下所示:
IWebDriver driver = new ChromeDriver("chromedriver.exe");这就产生了以下信息:
文件chromedriver.exe\chromedriver.exe不存在。
因此,仅仅是为了刺激,我试着把"."作为路径传递,它起了作用。
这可能是一个更好的解决办法。驱动程序需要与应用程序代码位于同一个目录中。不在/bin目录中,这将有效。
IWebDriver driver = new ChromeDriver(Directory.GetCurrentDirectory());发布于 2019-07-30 11:44:43
我也面临着同样的问题,我已经用这种方式解决了它。
首先找到你的Chrome版本。
帮助->关于谷歌Chrome。在那里你会找到你的版本号。
然后复制下面提供的URL,并将您当前的Chrome版本号放入这些倒逗号中,然后按Enter键。它将直接将您重定向到最新下载。
https://chromedriver.storage.googleapis.com/index.html?path=“"/ (完整网址)下载Zip,解压缩并实现。
https://stackoverflow.com/questions/47910244
复制相似问题