Selenium 夜视:切换到iframe时出错

Selenium 夜视:切换到iframe时出错,selenium,google-chrome-extension,nightwatch.js,Selenium,Google Chrome Extension,Nightwatch.js,我正在尝试使用Nightwatch为chrome扩展编写e2e测试。扩展插件在某些页面上插入iframe。我可以用扩展启动chrome,但在尝试切换到框架时遇到错误 这是我的测试: module.exports = { 'My test' : function (browser) { browser .url('https://myurl.com') .waitForElementVisible('iframe[id=my_frame]', 5000)

我正在尝试使用Nightwatch为chrome扩展编写e2e测试。扩展插件在某些页面上插入iframe。我可以用扩展启动chrome,但在尝试切换到框架时遇到错误

这是我的测试:

module.exports = {
  'My test' : function (browser) {
    browser
      .url('https://myurl.com')
      .waitForElementVisible('iframe[id=my_frame]', 5000)
      .frame('my_frame')
      .end();
  }
};
以下是错误消息:

信息响应200 POST/session/b747140552587912484ec27e0d91cd27/frame (6ms){会话ID:'b747140552587912484ec27e0d91cd27',状态:8,
值:{message:'没有这样的框架:元素不是框架
(会议) 信息:chrome=58.0.3029.96)\n(驱动程序信息:chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),平台=Windows NT 6.1.7601 SP1 x86_64)} 日志→ 完成的命令帧(10毫秒)

我知道框架在那里,因为我可以暂停测试并检查页面。此外,nightwatch还成功地在waitForElementVisible命令中找到了frame元素

这是html

<iframe id="my_frame" src="chrome-extension://honkfenocfnhdbpakgenabnlnpgccadm/html/iframe/test.html" scrolling="false" style="width: 440px; transform: translateX(0px);"></iframe>


我做错了什么?

这看起来像是一个chromium bug,以防其他人遇到此问题:


这看起来像是一个chromium bug,以防其他人遇到此问题:


您是否尝试过在切换到帧之前添加
.pause(1000)
。铬58的变化是否影响了硒处理iFrame的方式?我正在使用chromedriver v2.29作为参考。虽然我也应该添加它,但它似乎只是我的iframe,我无法切换到它,我可以对其他iframe这样做,没有问题,但在Chrome 58+上,它不适用于这个iframe。如果我降级到Chrome v57,它似乎可以工作,但在Chrome v58上不起作用。铬58的变化是否影响了硒处理iFrame的方式?我正在使用chromedriver v2.29作为参考,虽然我也应该添加它,但它似乎只是我的iframe,我无法切换到它,我可以为其他iframe这样做,而不会出现问题,但在Chrome58+上,它不适用于这个iframe