首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒找不到chromedriver.exe

硒找不到chromedriver.exe
EN

Stack Overflow用户
提问于 2017-12-20 16:13:16
回答 2查看 15.2K关注 0票数 17

我们正在升级到.NET核心,我们有一个爬行引擎,在某些任务中使用Selenium。我们使用chromedriver.exe,它在.NET 4.6.1中工作得很好。

对于.NET核心,我们创建了一个控制台应用程序,并添加了以下软件包:

代码语言:javascript
复制
  <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文件夹。但在这两种情况下都找不到。

我在这里错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-20 17:57:17

我无法解释为什么它是这样工作的,但我就是这样让它起作用的。

代码语言:javascript
复制
IWebDriver driver = new ChromeDriver(".");

最初,我将驱动程序复制到与我的Program.cs相同的目录中,并将路径传递给驱动程序,如下所示:

代码语言:javascript
复制
IWebDriver driver = new ChromeDriver("chromedriver.exe");

这就产生了以下信息:

文件chromedriver.exe\chromedriver.exe不存在。

因此,仅仅是为了刺激,我试着把"."作为路径传递,它起了作用。

这可能是一个更好的解决办法。驱动程序需要与应用程序代码位于同一个目录中。不在/bin目录中,这将有效。

代码语言:javascript
复制
IWebDriver driver = new ChromeDriver(Directory.GetCurrentDirectory());
票数 21
EN

Stack Overflow用户

发布于 2019-07-30 11:44:43

我也面临着同样的问题,我已经用这种方式解决了它。

首先找到你的Chrome版本。

帮助->关于谷歌Chrome。在那里你会找到你的版本号。

然后复制下面提供的URL,并将您当前的Chrome版本号放入这些倒逗号中,然后按Enter键。它将直接将您重定向到最新下载。

https://chromedriver.storage.googleapis.com/index.html?path=“"/ (完整网址)下载Zip,解压缩并实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47910244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档