2

我试图用 watir-webdriver 加载 google chrome 浏览器,但是在浏览器中调用任何 URL 时都会抛出以下错误

Selenium::WebDriver::Error::UnknownError: Unknown command 'WaitForAllTabsToStopL
oading'. Options: AcceptOrDismissAppModalDialog, ActionOnSSLBlockingPage, Activa
teTab, AddBookmark, AddDomEventObserver, AppendTab, ApplyAccelerator, BringBrows
erToFront, ClearEventQueue, CloseBrowserWindow, CloseTab, CreateNewAutomationPro
vider, DeleteCookie, DeleteCookieInBrowserContext, DoesAutomationObjectExist, Dr
agAndDropFilePaths, ExecuteJavascript, ExecuteJavascriptInRenderView, GetActiveT
abIndex, GetAppModalDialogMessage, GetBookmarkBarStatus, GetBookmarksAsJSON, Get
BrowserInfo, GetBrowserWindowCount, GetChromeDriverAutomationVersion, GetCookies
, GetCookiesInBrowserContext, GetDownloadDirectory, GetExtensionsInfo, GetIndice
sFromTab, GetLocalStatePrefsInfo, GetMultiProfileInfo, GetNextEvent, GetPrefsInf
o, GetProcessInfo, GetSecurityState, GetTabCount, GetTabIds, GetTabInfo, GetView
s, GoBack, GoForward, InstallExtension, IsDownloadShelfVisible, IsFindInPageVisi
ble, IsMenuCommandEnabled, IsPageActionVisible, IsTabIdValid, MaximizeView, Navi
gateToURL, OpenFindInPage, OpenNewBrowserWindow, OpenNewBrowserWindowWithNewProf
ile, OpenProfileWindow, OverrideGeoposition, RefreshPolicies, Reload, RemoveBook
mark, RemoveEventObserver, ReparentBookmark, RunCommand, SendWebkitKeyEvent, Set
BookmarkTitle, SetBookmarkURL, SetCookie, SetCookieInBrowserContext, SetDownload
ShelfVisible, SetExtensionStateById, SetLocalStatePrefs, SetPrefs, SetViewBounds
, SimulateAsanMemoryBug, TriggerBrowserActionById, TriggerPageActionById, Uninst
allExtensionById, UpdateExtensionsNow, WaitForBookmarkModelToLoad, WaitUntilNavi
gationCompletes, WebkitMouseButtonDown, WebkitMouseButtonUp, WebkitMouseClick, W
ebkitMouseDoubleClick, WebkitMouseDrag, WebkitMouseMove, AcceptCurrentFullscreen
OrMouseLockRequest, AddOrEditSearchEngine, AddSavedPassword, CloseNotification,
DenyCurrentFullscreenOrMouseLockRequest, DisablePlugin, EnablePlugin, FindInPage
, GetAllNotifications, GetDownloadsInfo, GetFPS, GetHistoryInfo, GetInitialLoadT
imes, GetNTPInfo, GetNavigationInfo, GetOmniboxInfo, GetPluginsInfo, GetSavedPas
swords, GetSearchEngineInfo, GetV8HeapStats, ImportSettings, IsFullscreenBubbleD
isplayed, IsFullscreenBubbleDisplayingButtons, IsFullscreenForBrowser, IsFullscr
eenForTab, IsFullscreenPermissionRequested, IsMouseLockPermissionRequested, IsMo
useLocked, KillRendererProcess, LaunchApp, LoadSearchEngineInfo, OmniboxAcceptIn
put, OmniboxMovePopupSelection, PerformActionOnDownload, PerformActionOnInfobar,
 PerformActionOnSearchEngine, RemoveNTPMostVisitedThumbnail, RemoveSavedPassword
, RestoreAllNTPMostVisitedThumbnails, SaveTabContents, SetAppLaunchType, SetOmni
boxText, SetWindowDimensions, WaitForAllDownloadsToComplete, WaitForNotification
Count,

它可能会因为 Chrome 更新而引发此错误,因为 webdriver 不支持更新的 API,我也尝试更新 watir-webdriver gem,但它没有说要更新(它是最新的)我的 watir-webdriver 版本是watir-webdriver-0.6.4

请让我知道是否有其他人面临同样的问题或任何人找到了相同的解决方案。

4

7 回答 7

1

Gaurav,我也有同样的问题。

以下是我如何解决此问题的步骤:

1. Remove old the versions (ruby, watir, devkit)
2. Install to Ruby 2.0.0-p195
3. Install devkit
4. Add latest chromedriver to your $PATH
5. gem install watir-webdriver 
6. gem update --system
7. gem update
8. gem cleanup

还将 chromedriver 可执行文件更新到最新版本(并在您的路径中仔细检查它)。我有: ruby​​ 2.0.0p195 (2013-05-14) [i386-mingw32] && watir-webdriver(0.6.4)

瞧:

C:\Ruby200\bin>irb
irb(main):001:0> require "watir-webdriver"
=> true
irb(main):002:0> b = Watir::Browser.new :chrome
Starting ChromeDriver (v2.2) on port 9515
=> #<Watir::Browser:0x3cac37de url="data:text/html;charset=utf-8," title="data:t
ext/html;charset=utf-8,">
irb(main):003:0> b.goto "stackoverflow.com"
=> "http://stackoverflow.com/"
irb(main):004:0> b.inspect
=> "#<Watir::Browser:0x50eee9c0 url=\"http://stackoverflow.com/\" title=\"Stack
Overflow\">"

请让我知道它是否有帮助。

于 2013-08-28T22:55:53.147 回答
0

我已经看到了这个问题,我们通过在我使用的 Mac 和 Windows 版本中迁移到 ChromeDriver 2.3 来修复它: Ruby 版本:1.9.3-p194 Watir-webdriver 版本:0.6.4 Selenium-webdriver 版本:2.33.0

如果您可以确保 chrome 驱动程序在 PATH 中,这应该可以工作。无需升级到 ruby​​ 2.0。

于 2013-09-30T08:48:43.173 回答
0

使用selenium web driver的最新jar文件-selenium-server-standalone-2.35.0.jar

和 chromedriver_win32_2.3.zip 用于 chrome 驱动程序。

于 2013-09-06T09:31:11.370 回答
0

我也面临同样的问题。当我尝试导航到 driver.goto("google.com") 时,我正好遇到了这个错误。

但是,如果我将 Chrome 版本从 29 恢复到 27,那么它工作正常。所以我认为问题出在 chrome 版本 29 或 chrome 驱动程序版本 chromedriver_win32_2.2.zip

所以请暂时降级chrome....

于 2013-08-27T09:43:09.893 回答
0

下载最新版本的chromedriver。还要确保旧旧不在您的 PATH 中。

于 2013-08-28T19:05:52.753 回答
0

您将使用功能指向要启动的浏览器的正确二进制文件。但并非所有版本的 chrome 浏览器都受不同版本的 chromedriver 支持。您会发现异常,说明预期的浏览器版本大于或等于 30.0。

例如:- Chromium 浏览器(33.0.1729.0)适用于 ChromeDriver 2.7 而不是旧版本。

您可以从以下链接中选择所有可用的 chromedriver 版本:- http://chromedriver.storage.googleapis.com/index.html

所以尽量使用chromedriver支持的浏览器版本。

于 2013-12-12T12:14:24.673 回答
0

你升级到最新版本的 selenium-webdriver 了吗?

gem install selenium-webdriver

请记住,watir-webdriver 只是 selenium-webdriver 的包装器。实际上是 selenium-webdriver 与 chromedriver 进行交互。通常,当 chromedriver 有更新时,也需要对 selenium-webdriver 进行更新。

自最新的 chromedriver 更新以来,selenium-webdriver 有 2 次更新。其中一项更新可能解决了您的问题。

于 2013-08-30T00:29:39.157 回答