您好我正试图在Mac PC上使用eclipse设置selenium。 当我下载ChromeDriver并将其放在以下文件夹中时:
System.setProperty("webdriver.chrome.driver","/Users/george/Downloads/chromedriver");
WebDriver driver = new ChromeDriver();
我运行代码。 然后我得到以下异常:
启动ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4)在33424港口 允许连接。线程" main"中的例外情况 org.openqa.selenium.WebDriverException:未知错误:找不到 Chrome二进制文件(驱动程序信息:chromedriver = 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform = Mac OS X 10.10.5 x86_64)(警告:服务器未提供任何堆栈跟踪 信息)命令持续时间或超时:312毫秒构建信息: 版本:' 2.53.0',修订版:' 35ae25b',时间:' 2016-03-15 17:00:58' 系统信息:主持人:' Georges-Mac-mini.local',ip:' 192.168.1.2', os.name:' Mac OS X',os.arch:' x86_64',os.version:' 10.10.5', java.version:' 1.7.0_25'司机信息: org.openqa.selenium.chrome.ChromeDriver
所以我假设某些二进制文件丢失了?请注意,我经常使用Chrome浏览器作为我的浏览器..我不知道这是否相关。 我的电脑是mac。我已阅读ChromeDriver网站,但我不明白究竟要做什么。我在导航到有点奇怪的路径时遇到了问题:" Google Drive"而不是" Google / Drive"或路径 " cd Chrome \ Apps.localized /"或" / Applications / Google \ Chrome.app/Contents/MacOS/Google \ Chrome"。我的意思是,wt ??那些来回斜线???我刚才在Linux上有一些东西但是在这里......我陷入困境和迷茫 在Windows上更容易的东西..你刚刚在本地下载了一个.exe文件,指向驱动程序的文件选项,一切都很顺利。我无法找到有关mac特定的信息。
有人可以帮忙吗?
由于
答案 0 :(得分:1)
堆栈跟踪表明它无法找到chrome webdrive的二进制文件。如果您还没有下载,则需要下载。下载chrome webdriver后,将应用程序指向二进制文件。
如果您有一个带空格的路径,例如
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
你需要像往常一样用反斜杠来逃避空间
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
反斜杠后跟一个空格\
,告诉参数解析器不要将该空格用作分隔符,而是将其作为路径的一部分包含在内。
答案 1 :(得分:1)
“找不到Chrome二进制文件”只是意味着操作系统无法找到Chrome应用。只需检查chrome安装目录。正确的目录应为“/ Applications / Google Chrome.app”。如果从第三平台下载chrome,则该目录可能是“/Applications/Chrome.app”。这使得操作系统无法找到你的铬。
答案 2 :(得分:0)
除了尝试使用带斜线和不带斜线的路径(红宝石驱动程序期望空格不能转义)之外,此问题还可能是由于Chrome和Chromedriver之间的版本不匹配引起的。
特别是,当前稳定的Chromedriver版本通常不支持Chrome Canary。 https://sites.google.com/a/chromium.org/chromedriver/chromedriver-canary链接有每晚的版本。在Mac版本的搜索框中输入正确的前缀,然后滚动到最新版本(如果是的话,界面很烂)。
也有很大的机会也行不通。最好的选择是安装稳定的Chrome版本。
答案 3 :(得分:0)
我发现将selenium-webdriver升级到3.142.3并将Capybara升级到3.20.2可以解决此问题。这需要对我的webdriver配置进行一些更改:
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
'goog:chromeOptions': {
args: %w(--disable-gpu --headless --no-sandbox --window-size=1024,768)
}
)
driver = Capybara::Selenium::Driver.new app, {
browser: :chrome,
desired_capabilities: capabilities,
http_client: client,
}
答案 4 :(得分:-2)
在您的路径中使用双斜杠:
//Test Data//Drivers//chromedriver
并将chrome驱动程序exe复制并粘贴到其他位置。
答案 5 :(得分:-2)
当我意识到自己没有安装Chrome浏览器以尝试使用它时,我正面对着"cannot find Chrome binary"
。
伙计们,不要在家做