Node.js 为什么我会得到;“无窗口错误”;错误与“;getWindowHandle";何时返回当前窗口句柄?
在第二章中,他说: 调度命令以检索当前窗口句柄 但是,当我尝试使用从这个返回的句柄执行某些操作时,它会抛出“NoSuchWindowError”。这怎么可能呢?如果是当前窗口,则不应关闭该窗口。如果已关闭,则当前窗口是另一个窗口。对吧? 使用:Node.js 为什么我会得到;“无窗口错误”;错误与“;getWindowHandle";何时返回当前窗口句柄?,node.js,selenium,selenium-webdriver,Node.js,Selenium,Selenium Webdriver,在第二章中,他说: 调度命令以检索当前窗口句柄 但是,当我尝试使用从这个返回的句柄执行某些操作时,它会抛出“NoSuchWindowError”。这怎么可能呢?如果是当前窗口,则不应关闭该窗口。如果已关闭,则当前窗口是另一个窗口。对吧? 使用: 用于javascript/node.js的Webdriver 镀铬器 更新2: 看起来像是一场灾难。关闭的窗口是facebook登录 以下是如何复制: 转到请求facebook登录的某个页面 出现facebook登录弹出窗口 您登录 faceboo
- 用于javascript/node.js的Webdriver李>
- 镀铬器李>
- 转到请求facebook登录的某个页面李>
- 出现facebook登录弹出窗口李>
- 您登录李>
- facebook窗口关闭李>
- 现在,如果您尝试获取当前句柄,则会出现此错误
[8.572][SEVERE]: Unable to receive message from renderer
FF
(::) failed steps (::)
NoSuchWindowError: no such window: target window already closed
at Object.Future.wait (c:\app\node_modules\fibers\future.js:398:15)
at [object Object]._.extend.update (c:\app\tests\shared\Browser.js:183:62)
at [object Object].<anonymous> (c:\app\tests\shared\Browser.js:138:18)
at c:\app\node_modules\fibers\future.js:416:21
- - - - -
from unknown error: web view not found
(Session info: chrome=40.0.2214.111)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86)
at new bot.Error (c:\app\node_modules\selenium-webdriver\lib\atoms\error.js:113:18)
at Object.bot.response.checkResponse (c:\app\node_modules\selenium-webdriver\lib\atoms\response.js:106:9)
at c:\app\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:362:20
at c:\app\node_modules\selenium-webdriver\lib\goog\base.js:1582:15
at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
at notify (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:465:12)
at notifyAll (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:442:7)
at resolve (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:420:7)
at [object Object].fulfill (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:535:5)
at c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:1520:10
at c:\app\node_modules\selenium-webdriver\lib\goog\base.js:1582:15
at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
at notify (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:465:12)
at notifyAll (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:442:7)
at resolve (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:420:7)
at fulfill (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:535:5)
at c:\app\node_modules\selenium-webdriver\lib\goog\base.js:1582:15
at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
at notify (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:465:12)
at notifyAll (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:442:7)
at resolve (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:420:7)
at [object Object].fulfill (c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:535:5)
at c:\app\node_modules\selenium-webdriver\lib\webdriver\promise.js:721:49
at c:\app\node_modules\selenium-webdriver\lib\webdriver\http\http.js:96:5
at IncomingMessage.<anonymous> (c:\app\node_modules\selenium-webdriver\http\index.js:131:7)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:943:16
at process._tickDomainCallback (node.js:463:13)
==== async task ====
WebDriver.getWindowHandle()
at [object Object].webdriver.WebDriver.schedule (c:\app\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:345:15)
at [object Object].webdriver.WebDriver.getWindowHandle (c:\app\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:672:15)
at [object Object].<anonymous> (c:\app\tests\shared\Browser.js:23:12)
at [object Object].fn [as f_getWindowHandle] (c:\app\node_modules\fibers\future.js:89:26)
at [object Object]._.extend.update (c:\app\tests\shared\Browser.js:183:42)
at [object Object].<anonymous> (c:\app\tests\shared\Browser.js:138:18)
at c:\app\node_modules\fibers\future.js:416:21
[8.572][SEVERE]:无法从渲染器接收消息
FF
(:)失败的步骤(:)
NoSuchWindowError:没有这样的窗口:目标窗口已关闭
在Object.Future.wait(c:\app\node\u modules\fibers\Future.js:398:15)
在[object object].\uu.extend.update(c:\app\tests\shared\Browser.js:183:62)
在[对象]。(c:\app\tests\shared\Browser.js:138:18)
在c:\app\node\u modules\fibers\future.js:416:21
- - - - -
来自未知错误:找不到web视图
(会话信息:chrome=40.0.2214.111)
(驱动程序信息:chromedriver=2.9.248315,平台=Windows NT 6.1 SP1 x86)
在新的bot.Error(c:\app\node\u modules\selenium webdriver\lib\atoms\Error.js:113:18)
在Object.bot.response.checkResponse(c:\app\node\u modules\selenium webdriver\lib\atoms\response.js:106:9)
位于c:\app\node\u modules\selenium webdriver\lib\webdriver\webdriver.js:362:20
位于c:\app\node\u modules\selenium webdriver\lib\goog\base.js:1582:15
在[object object].webdriver.promise.ControlFlow.runInNewFrame(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:1654:20)
通知时(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:465:12)
在notifyAll(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:442:7)
解析时(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:420:7)
在[object object]完成(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:535:5)
位于c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:1520:10
位于c:\app\node\u modules\selenium webdriver\lib\goog\base.js:1582:15
在[object object].webdriver.promise.ControlFlow.runInNewFrame(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:1654:20)
通知时(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:465:12)
在notifyAll(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:442:7)
解析时(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:420:7)
完成时(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:535:5)
位于c:\app\node\u modules\selenium webdriver\lib\goog\base.js:1582:15
在[object object].webdriver.promise.ControlFlow.runInNewFrame(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:1654:20)
通知时(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:465:12)
在notifyAll(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:442:7)
解析时(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:420:7)
在[object object]完成(c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:535:5)
在c:\app\node\u modules\selenium webdriver\lib\webdriver\promise.js:721:49
位于c:\app\node\u modules\selenium webdriver\lib\webdriver\http\http.js:96:5
在收到消息时。(c:\app\node\u modules\selenium webdriver\http\index.js:131:7)
在IncomingMessage.emit(events.js:117:20)
在_stream_readable.js:943:16
在进程中。_tickDomainCallback(node.js:463:13)
==异步任务====
WebDriver.getWindowHandle()
位于[object object].webdriver.webdriver.schedule(c:\app\node\u modules\selenium webdriver\lib\webdriver\webdriver.js:345:15)
位于[object object].webdriver.webdriver.getWindowHandle(c:\app\node\u modules\selenium webdriver\lib\webdriver\webdriver.js:672:15)
在[对象]。(c:\app\tests\shared\Browser.js:23:12)
在[object object].fn[as f_getWindowHandle](c:\app\node\u modules\fibers\future.js:89:26)
在[object object].\uu.extend.update(c:\app\tests\shared\Browser.js:183:42)
在[对象]。(c:\app\tests\shared\Browser.js:138:18)
在c:\app\node\u modules\fibers\future.js:416:21
试试看
然后你会看到chrome是打开的,不要关闭它。然后试试看
driver.get('http://www.google.com')
给出一个示例,说明您试图如何处理句柄和错误回溯。谢谢。我刚刚更新了这个问题(:谢谢你,你是想使用FireFox selenium IDE,还是有权使用支持selenium的编程语言?没有,我是在chromedriver上使用raw node.js/javascript webdriver。
driver.get('http://www.google.com')