Greetings StackOverflow社区,
我的问题很简单。我有以下五行代码,无法弄清楚为什么使用自定义二进制位置时Google Chrome无法启动 google.com 。
var Chrome = new ChromeOptions();
Chrome.AddArgument("no-sandbox");
Chrome.BinaryLocation = @"C:\GoogleChrome\chrome.exe";
ChromeDriver driver = new ChromeDriver(@"C:\ChromeDriver", Chrome);
driver.Navigate().GoToUrl("https://www.google.com");
有什么想法吗?我得到的只是启动Chrome浏览器时的默认chromedriver URL“ 数据:”。
为什么使用Chrome.BinaryLocation时driver.navigate命令不起作用?如果我注释掉那条线,那将很好用。
我正在使用以下内容:
答案 0 :(得分:0)
嘿,我不认为您需要二进制位置
也许Chrome已经是一种类型,
尝试一下:
ChromeOptions options = new ChromeOptions();
options.AddArgument("no-sandbox");
var driver = new ChromeDriver(@"C:\GoogleChrome", options);
driver.Navigate().GoToUrl("https://www.google.com");
答案 1 :(得分:0)
好的,我找到了这个问题的答案。我不知道为什么Firefox,Chrome或其他基于Chromium的浏览器的可移植版本无法通过这种方式运行,但是我通过将企业安装文件从Chrome的程序文件复制到计算机上的另一个目录,然后指向Selenium脚本以使用该二进制位置。然后就可以了。
将Chrome指向自定义Chrome配置文件位置也很有用,以防止更多的Chrome应用程序使用本地用户的AppData文件夹。
如果有人对完成相同的任务感兴趣,我可以提供一些示例代码来完成此任务。只是给我发消息以获取更多详细信息。