无法定义Selenium chrome驱动程序路径

时间:2014-12-13 09:37:24

标签: c# selenium webdriver selenium-chromedriver

我编写自动化系统并且在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位

1 个答案:

答案 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);

经过一些研究herehere后,我很想说你的服务器上没有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并将其安装在您的服务器上。比第一个选项(没有路径)将起作用。