当前位置: 首页 > 知识库问答 >
问题:

在Firefox中使用withFrame()方法时,Selenium.WebDriverException引发失败代码0x80004005

盖嘉珍
2023-03-14

我正在为收集用户输入的web站点创建一个测试套件(使用node和Angular实现)。其中一些输入是带有编辑功能的文本框形式(类似于堆栈溢出中使用的这个)。创建可编辑框的代码是

<div id="mceu_30" class="mce-edit-area mce-container mce-panel mce-stack-layout-item" hidefocus="1" tabindex="-1" role="group" style="border-width: 1px 0px 0px;"> 

<iframe id="ui-tinymce-9_ifr" frameborder="0" allowtransparency="true" title="Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help" style="width: 100%; height: 100px; display: block;"></iframe>

<html> <head><style>...</style></head> <body id="tinymce" class="mce-content-body " data-id="ui-tinymce-1" contenteditable="true" spellcheck="false"><p><br data-mce-bogus="1"></p></body> </html>

</div>

为了简单起见,我删除了所有部分。

我使用GEB/Spock框架进行测试。检查上述元素的特定代码段是

 withFrame(OppBackgroundBox){$("body", id:"tinymce") << Background }

其中'background'是前面在测试脚本中定义的字符串,OppBackgroundBox是定义为

  OppBackgroundBox{$(By.xpath('//iframe[@title="Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"]'),0)}

条件失败,出现异常:

withFrame(OppBackgroundBox){$(“body”,id:“TinyMce”)< OppBackgroundBox:GEB.Navigator.NonEmptyNavigator

org.openqa.selenium.webdriverexception:[exception...“组件返回故障代码:0x80004005(NS_ERROR_FAILURE)[NSitextInputProcessor.BeginInputTransactionForTests]”nsresult:“0x80004005(NS_ERROR_FAILURE)”位置:“JS frame::Chrome://Marionett/Content/Event.js::getTIP_::line 429”数据:no“构建信息:版本:'3.141.59',修订:'E82BE7D358',时间EGY:normal,Platform:MAC,PlatformName:MAC,PlatformVersion:18.2.0,Rotatable:false,SetWindowRect:true,StrictFileInteractability:false,Timeouts:{Implicit:0,PageLoad:300000,Script:30000},UnhandledPromptBehavior:Dississ and notify}会话ID:62B25DF0-58CF-DB4F-9D3C-12A1B12820CE

在CreateProgramProjectOpp.Publish机会:“#TitleData”(CreateProgramProjectOpp.Groovy:195)

(其中195指的是withFrame(OppBackgroundBox){$(“body”,id:“TinyMce”)<

上面的错误消息有点混乱,但与OppBackgroundBox相关联的是该消息

此时此刻,我不知道这是WebDriver的问题,Geb还是我的某些配置/版本控制错误。

有没有人发现这个问题和解决办法?事先谢谢你的帮助。

共有1个答案

任宾鸿
2023-03-14

这是您的Firefox设置的问题,与GEB无关。来自浏览器的基本错误是:

组件返回失败代码:0x80004005(NS_ERROR_FAILLE)[NSITEXTInputProcessor.BeginInputTransactionForTests]“NSRESULT:”0x80004005(NS_ERROR_FAILLE)“位置:”js frame::Chrome://Marionett/Content/Event.js::getTIP_::line 429“数据:否

我建议谷歌搜索部分错误,看看这会给你带来什么。这很可能与您的Firefox状态或FF版本与您使用的Gecko driver binary版本不兼容有关。

 类似资料:
  • 我刚开始在 futurelearn.com 学习编程。 我有一个位图和一个球。任务是编码x方向的边界。 工作代码如下所示: 但我有一个逻辑问题。我想知道为什么我不能用“==”代替“ 这是了解的视频。它应该包含所有可能缺少的信息。 https://www.futurelearn.com/courses/begin-programming/7/steps/42942

  • 它会引发一个异常:未能启动eclipse以导入项目。确保'eclipse'在您的路径中,然后再试一次 我试图将Eclipse的目录(applications/eclipse.app)添加到我的PATH环境变量中,但仍然得到相同的错误。 以下是完整的跟踪: 0:00.46/users/****/src/mozilla-central/obj-ff-dbg/_virtualenvs/init/bin/

  • 问题内容: 我想要一种一致且简单的方法来在JNI代码中引发异常;处理链式异常的东西(隐式地来自env-> ExceptionOccurred方法,或者由参数显式表示,无论哪种方式都不错),并且每次执行此操作时都无需查找构造函数。尽管我可以根据需要从C ++进行翻译,但上述所有内容最好都用C语言编写。 SO上是否有人可以分享这样的东西? 问题答案: 我们只是为要抛出的每种异常类型编写实用程序方法。这

  • 问题内容: 我在python的unittest2框架中运行了一些基于类的单元测试。我们正在使用Selenium WebDriver,它具有便捷的方法。我想在每次测试失败时在tearDown()中抓取一个屏幕截图,以减少调试_为什么_ 测试失败的时间。 但是,我找不到仅在测试失败时运行代码的任何方法。不管测试是否成功,都会调用,并且我不想用成百上千的浏览器屏幕快照来使我们的文件系统混乱,以确保测试成

  • 我有一个包含可重用方法的键类。我尝试用两种方法使用WebElement。他们在一起。我知道失败的是webelement,因为我可以在没有两种方法的情况下对其进行编码,而且效果很好。当调用包含webelement的方法时,如何正确地执行此操作而不会失败?(无此类元素例外) 公开类密钥{ 另一个类使用如下内容:

  • 我正在尝试使用内联编辑器重新部署一个以前工作的Python云函数。不改变来源或要求。txt,部署失败,错误消息如下: 功能日志提供以下详细信息: 这种情况从上周五开始,一直持续到今天。我还尝试了使用gcloud函数进行本地部署,在部署时我收到了类似的错误消息: