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

最小元素未附加到页面文档

桂丰
2023-03-14

我在Minim Developer上发现了一种奇怪的行为;当我在控制台中运行以下代码时:

$(".form-group").has($(".control-label").withText("Description"))
    .find(".cke_wysiwyg_frame").frames().find(".cke_editable").fill("Minium Test")

Minium能够填写“描述”字段

但是,当我尝试在步骤定义中运行相同的代码时,出现以下错误:

org . Mozilla . JavaScript . Wrapped exception:Wrapped org . open QA . selenium . staleelementreferenceexception:stale元素引用:元素未附加到页面文档(会话信息:chrome=68.0.3440.84)(驱动程序信息:chrome Driver = 2 . 40 . 565498(ea 082 db 3280 DD 6843 ebfb 08 a 625 e 3 EB 905 C4 F5 ab),平台=Windows NT 10.0.17134 x86_64...,userDataDir: C:\Users\~1。SIL\AppDat...}、csselectorsenabled:true、databaseEnabled: false、handlesAlerts: true、hasTouchScreen: false、javascriptEnabled: true、locationContextEnabled: true、mobileEmulationEnabled: false、nativeEvents: true、networkConnectionEnabled: false、pageLoadStrategy: normal、platform: XP、platformName: XP、rotable:false、setWindowRect: true、takesHeapSnapshot: true、takesScreenshot: true、unexpectedAlertBehaviour:,unhandledPromptBehavior:,版本:68。。

填写字段时:<code>功能/目录/组/组。功能:48</code>

有什么办法解决这个问题吗?

共有1个答案

司马英才
2023-03-14

这似乎是一个与交互监听器的使用相关的问题。

您是否在这样的world.js将任何交互侦听器添加到浏览器配置中?

browser.configure()
    .defaultTimeout(5, timeUnits.SECONDS)
    .defaultInterval(500, timeUnits.MILLISECONDS)
    .interactionListeners()
      .add(minium.interactionListeners.onStaleElementReference().thenRetry())
      .add(...)
      ...
    .done();

如果是,请将所有交互侦听器移动到基本表达式。例如:

base = $(":root")
      .unless($(".modal").withCss("display", "block")).add(".modal-body")
      .with(minium.interactionListeners.onStaleElementReference().thenRetry())
      .with(...)
      ...

并在没有基本表达式的情况下运行代码,以避免交互侦听器的调用。

 类似资料:
  • 我正在使用C#和Selenium Chromedriver来做一个测试项目,以抓取谷歌地图。 在到达第二个循环之前,它运行良好: 返回: OpenQA. Selenium.过时元素引用:元素未附加到页面文档 这是我所有的代码: 任何帮助将不胜感激!

  • 我得到了这个错误,当我试图点击一个下拉ID: 我想用这个代码: 有没有什么方法可以防止无限循环,或者更好的方法在我得到这个异常后点击id?

  • 我正在构建一个刮网站的c#应用程序。我认为这个问题是因为页面在一次又一次提交表单后被重新加载而导致的。我必须从选择列表中选择一个选项,然后按回车键,等待页面重新加载新结果。但是重新加载后会导致此错误; 我的代码是这样的; 我也尝试过类似的东西; 时间不多了,我有个例外,时间不多了。

  • 这是HTML结构如下所示 错误跟踪为:

  • 我在我的selenium java项目中不断收到一条错误消息。

  • 所以我正在尝试制作一个在flickr上运行的程序,我已经准备好了所有的东西,直到cookies弹出,它打败了我。 我正在尝试切换到这个iframe,这样我就可以使用“全部接受”按钮。然而,iframe的ID是动态的,所以为了避免这个问题,我尝试以标题为目标。 但是我现在收到了这个错误消息。 我已经尝试添加了10秒的等待时间来给它加载时间,我知道错误的原因是元素不再连接到DOM,但我不知道要使用什么