我的 QUnit 测试套件(来源在这里)在 Firefox 23 和更高版本中失败并出现错误TypeError: document.setUserData is not a function
。有关更多信息,请参阅此屏幕截图。
奇怪的是,每次似乎都有一个不同的测试失败,但每次页面加载只有一个测试失败。我看到 Firefox 删除了 setUserData,但我没有在我的代码中使用该函数,也没有看到该函数在 QUnit 代码中使用。这里会发生什么?
看起来这是 FF 和 Selenium 的一个已知问题:
显然,不再支持 Node.setUserData。另一种方法是使用 WeakMap
https://developer.mozilla.org/en-US/docs/Web/API/Node.setUserData更具体地说,executeScript() 失败,因为 Firefox 驱动程序正在将脚本注入目标页面然后使用 document.setUserData 与该脚本进行通信。