硒chromedriver不工作

时间:2016-10-27 09:19:11

标签: c# selenium

我仍然无法弄清楚这一点。几天前,我的硒工作正常;现在它给我一些错误。我首先使用NuGet然后尝试手动安装它。

如何重现问题:

Traceback (most recent call last):                                                                                                 
  File "pymysql1.py", line 1, in <module>                                                                                          
    import pymysql                                                                                                                 
  File "C:\Program Files (x86)\Python35-32\lib\site-packages\pymysql\__init__.py", line 29, in <module>                            
    from .err import (                                                                                                             
  File "C:\Program Files (x86)\Python35-32\lib\site-packages\pymysql\err.py", line 1, in <module>                                  
    import struct                                                                                                                  
  File "C:\python\struct.py", line 2, in <module>                                                                                  
    pack('hhl', 1, 2, 3)                                                                                                           
NameError: name 'pack' is not defined                

错误:

  

OpenQA.Selenium.WebDriverException:具有空响应的异常   被抛出向远程WebDriver服务器发送HTTP请求   网址http://localhost:60695/session。异常的状态是   ReceiveFailure,消息是:底层连接是   已关闭:接收时发生意外错误。 ---&GT;   System.Net.WebException:底层连接已关闭:An   接收时发生意外错误。 ---&GT; System.IO.IOException:   无法从传输连接中读取数据:现有数据   连接被远程主机强行关闭。 ---&GT;   System.Net.Socket

我是如何安装硒的, 从using System; using System.Collections.Generic; using System.Linq; using System.Text; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System.Threading.Tasks; namespace Debug { class Program { static void Main(string[] args) { try { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://stackoverflow.com/"); } catch (Exception ex) { Console.Clear(); Console.WriteLine(ex); Console.ReadKey(); } } } } 下载

进入VS并将唯一的dll添加到引用

2 个答案:

答案 0 :(得分:12)

按以下顺序安装nuget包:

Install-Package Selenium.WebDriver


Install-Package Selenium.WebDriver.ChromeDriver

我希望它能起作用。

答案 1 :(得分:0)

我刚刚在我们的系统上解决了这个问题,并认为我会分享或设置和解决方案。

我们在Selenium之上有一个包装器库。该包装器使用Nuget包,但我们为每个软件集提供的项目都引用了我们的库。在这种情况下,Chrome驱动程序不会被复制到输出目录,并会出现此错误。

每个引用我们的包装器库的项目都有一个从包装器库输出到chromedriver的链接。这样我们就可以维护不同版本的库。

我们的修复只是为chromedriver.exe设置copy local to true。关键是如果你在构建后没有chomedriver.exe你可以得到这个错误。