我仍然无法弄清楚这一点。几天前,我的硒工作正常;现在它给我一些错误。我首先使用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添加到引用
答案 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你可以得到这个错误。