javascript - 无法使用 WebdriverIO (Selenium) 切换窗口

标签 javascript selenium selenium-chromedriver webdriver-io

目前无法在不同浏览器选项卡之间切换。

我的代码包含在我的测试类中:

describe('Validate switching of tabs', () => {
    beforeEach(function() {
        browser.url("https://duckduckgo.com") 
      });
    it('Switch tab', () => {
        browser.newWindow('https://webdriver.io')
        browser.switchToWindow('DuckDuckGo — Privacy, simplified.');
    })
})

似乎收到以下异常:

[0-0] 2019-07-24T10:22:26.116Z ERROR webdriver: Request failed due to Error: no such window
  (Session info: chrome=75.0.3770.142)
  (Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.17134 x86_64)
    at getErrorFromResponseBody (C:\Users\Gianni Bruno\Desktop\webdriverio-v5\node_modules\webdriver\build\utils.js:371:10)
    at Request._callback (C:\Users\Gianni Bruno\Desktop\webdriverio-v5\node_modules\webdriver\build\request.js:120:64)
    at Request.self.callback (C:\Users\Gianni Bruno\Desktop\webdriverio-v5\node_modules\request\request.js:185:22)
    at Request.emit (events.js:198:13)
    at Request.EventEmitter.emit (domain.js:448:20)
    at Request.<anonymous> (C:\Users\Gianni Bruno\Desktop\webdriverio-v5\node_modules\request\request.js:1161:10)
    at Request.emit (events.js:198:13)
    at Request.EventEmitter.emit (domain.js:448:20)
    at IncomingMessage.<anonymous> (C:\Users\Gianni Bruno\Desktop\webdriverio-v5\node_modules\request\request.js:1083:12)
    at Object.onceWrapper (events.js:286:20)
[0-0] Error in "Validate switching of tabs Switch tabs"
no such window
  (Session info: chrome=75.0.3770.142)
  (Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.17134 x86_64)

感谢您的帮助。

最佳答案

使用 switchWindow 方法而不是 switchToWindow 方法。了解更多 here .

describe('Validate switching of tabs', () => {
  beforeEach(function() {
    browser.url("https://duckduckgo.com") 
  });

  it('Switch tab', () => {
    browser.newWindow('https://webdriver.io')
    browser.switchWindow('DuckDuckGo — Privacy, simplified.');
  })
})

关于javascript - 无法使用 WebdriverIO (Selenium) 切换窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57180662/

相关文章:

javascript - 将 onRowClick 绑定(bind)到 DoJo 数据网格 (dojox.grid.DataGrid)

javascript - 如何检测Angular2中的路径

java - 如何在label标签下查找输入文件类型元素

selenium - 从 Jenkins 运行 Selenium 测试 - 找不到 firefox

python - 在 Raspberry Pi Zero 上安装 chromium 或 Firefox Webdriver 的可靠方法

python - 尽管 python selenium 中的文档可用,但元素不可见

javascript - 如何指示对外部模块的依赖?

Javascript 在 if/else 等 block 中提升

python - 安全错误 : Permission denied to access property "document" on cross-origin object error clicking on download link in iframe using Selenium Python

linux - "Syntax error: Unterminated quoted string"和 "org.apache.commons.exec.ExecuteException: Process exited with an error: 2 (Exit value: 2)"