我编写自动化系统并且在localhost中完美地工作,但是当我尝试发布它并上传到服务器时。我收到了这个错误;
unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)
我对这条路径肯定10亿,这是我的代码
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var options = new ChromeOptions();
var driverPath = Path.Combine(outPutDirectory, "ChromeDriverInThisFolder\\");
string driver_path = new Uri(driverPath).LocalPath;
driver = new ChromeDriver(driver_path, options);
我的服务器是Windows Windows NT 6.1 SP1 x86_64 2008 R2 Enterprise 64位
答案 0 :(得分:2)
你可以这样使用chrome的“标准位置”:
var options = new ChromeOptions();
// all of your 'options.AddArgument(...);' here
driver = new ChromeDriver(options); //This will look for chrome in the default directory
如果您需要在另一个目录中传递chrome二进制文件,可以使用以下方式:
var options = new ChromeOptions();
// all of your 'options.AddArgument(...);' here
options.setBinary("pathToYourOtherBinary"); //This is for CHROME binary, not ChromeDriver binary
driver = new ChromeDriver(options);
经过一些研究here和here后,我很想说你的服务器上没有ChromeDriver。
它应该在你的AppData上的某个地方:
Windows XP%HOMEPATH%\ Local Settings \ Application Data \ Google \ Chrome \ Application \ chrome.exe Windows Vista C:\ Users \%USERNAME%\ AppData \ Local \ Google \ Chrome \ Application \ chrome.exe
从here下载ChromeDriver并将其安装在您的服务器上。比第一个选项(没有路径)将起作用。