javascript - Minium - 元素未附加到页面文档
问题描述
我在 Minim Developer 发现了一个奇怪的行为;当我在控制台中运行以下代码时:
$(".form-group").has($(".control-label").withText("Description"))
.find(".cke_wysiwyg_frame").frames().find(".cke_editable").fill("Minium Test")
Minium 可以填写“描述”字段
但是当我尝试在步骤定义中运行相同的代码时,出现以下错误:
org.mozilla.javascript.WrappedException: Wrapped org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attach to the page document (Session info: chrome=68.0.3440.84) (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab ),platform=Windows NT 10.0.17134 x86_64) (警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:0 毫秒有关此错误的文档,请访问: http ://seleniumhq.org/exceptions/stale_element_reference .html构建信息:版本:'3.8.1',修订:'6e95a6684b',时间:'2017-12-01T18:33:54.468Z' 系统信息:主机:'47ZZQC2',ip:'169.254.70.131',os。名称:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_172' 驱动程序信息:org.openqa.selenium.remote.RemoteWebDriver Capabilities {acceptInsecureCerts:false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.40.565498 (ea082db3280dd6..., userDataDir: C:\Users\~1.SIL\AppDat...}, cssSelectorsEnabled: true,databaseEnabled:false,handlesAlerts:true,hasTouchScreen:false,javascriptEnabled:true,locationContextEnabled:true,mobileEmulationEnabled:false,nativeEvents:true,networkConnectionEnabled:false,pageLoadStrategy:正常,平台:XP,platformName:XP,可旋转:false,setWindowRect:true,takesHeapSnapshot:true,takeScreenshot:true,unexpectedAlertBehaviour:,unhandledPromptBehavior:,版本:68.0.3440.84,webStorageEnabled:true}会话ID : 103c08b587995e088faa269fbb46a4fd (/minium/cucumber/internal/dsl.js#88(eval)#1) 在 modules/forms.js:136 at modules/forms.js:175 at modules/forms.js:204 at steps/General/ steps.js:95 at ?.js#88(eval)#1) at modules/forms.js:136 at modules/forms.js:175 at modules/forms.js:204 at steps/General/steps.js:95 at ?.js#88(eval)#1) at modules/forms.js:136 at modules/forms.js:175 at modules/forms.js:204 at steps/General/steps.js:95 at ?.
当我填写字段时:features/Directory/Groups/groups.feature:48
有什么想法可以解决这个问题吗?
解决方案
这似乎是与使用交互侦听器有关的问题。
您是否像这样在 world.js 的浏览器配置中添加任何交互侦听器?
browser.configure()
.defaultTimeout(5, timeUnits.SECONDS)
.defaultInterval(500, timeUnits.MILLISECONDS)
.interactionListeners()
.add(minium.interactionListeners.onStaleElementReference().thenRetry())
.add(...)
...
.done();
如果是这样,请将所有交互 Listeners 移至Base Expression。例如:
base = $(":root")
.unless($(".modal").withCss("display", "block")).add(".modal-body")
.with(minium.interactionListeners.onStaleElementReference().thenRetry())
.with(...)
...
并在没有基本表达式的情况下运行您的代码,以避免调用交互侦听器。
推荐阅读
- python - Django 错误:“RelatedManager”对象没有属性“保存”
- javascript - Vue.js - 禁用页面的 removeAttributeQuotes
- api - 通过 AoG 中的 OAuth 获取有关 Actions on Google 的用户信息?
- asp.net - 如何在asp.net的gridview内的asp boundfield datafield hedertext上设置工具提示?
- vb.net - Renaming the current process of a ClickOnce application programmatically
- html - -webkit-line-clamp css not able to add in email template. How can add this property in email template?
- git - 当仅从先前版本修改补丁描述时,如何将补丁系列提交到 Linux 邮件列表并更改版本?
- sorting - how to customized sorting in an enum class in kotlin
- ios - 如何使用 MPVolumeView 更改音频输出设备。喜欢 WhatsApp 和视频群聊
- gulp - Not getting 'gulp-version-number' to work