【问题标题】:Move target out of bounds exception将目标移出边界异常
【发布时间】:2018-10-31 21:03:46
【问题描述】:

我正在为 Web 应用程序编写测试,一切顺利,直到我不得不从菜单中选择一个选项,并且该选项在悬停或单击时会显示一个下拉列表。当我从下拉列表中单击一个选项时,我收到以下错误:

MoveTargetOutOfBoundsException: Element cannot be scrolled into view

有谁知道这个错误是关于什么以及我应该在我的代码中寻找什么?

Selenium 版本 2.25.0,java 版本 1.6.0_31

我一直在检查一些 selenium 和 google 组关于旧版本中的这个问题https://groups.google.com/forum/?fromgroups=#!topic/selenium-users/EuZ7a6_lB9Q http://code.google.com/p/selenium/issues/detail?id=3075 http://code.google.com/p/selenium/issues/detail?id=4102

最近的讨论

这是 Selenium 2.25.0 的已知问题还是有解决方法?我最近升级到 Firefox 15.0 :|

注意:我找到了一个临时解决方案,直到有人神奇地解决了这个问题……因为我找不到问题所在…… 我在它崩溃之前运行代码,我让它休眠 10 秒,我手动单击菜单和下拉列表中的选项,显示我想要的窗口,并且代码从那个点继续执行操作。它现在有效...我希望这将得到解决,因为我不敢相信我可以在 Selenium IDE 中运行脚本但我不能在 WebDriver 中运行我的 java 代码...这太疯狂了:|

【问题讨论】:

标签: selenium webdriver


【解决方案1】:

我猜您正在尝试从下拉列表中单击一个元素。 您应该记住,Selenium 可以帮助您复制精确的人类行为。所以如果代码失败是因为元素不可见,很可能是因为元素不可见。

要使其正常工作,您可能希望在失败的代码位之前在菜单上放置一个单击命令。 (复制睡眠 10 秒手动单击您正在使用的菜单按钮方法)

再一次,如果您可以向我们展示您的代码以及菜单部分的 HTML sn-p,我们可以提供准确的解决方案。

【讨论】:

    【解决方案2】:

    也许您在打开选择框时打开了新的弹出窗口。 这可能会对您有所帮助:

    WebDriver.FindElement(By.Id("someInputBox")).SendKeys("hello");
    (IJavaScriptExecutor)WebDriver).ExecuteScript("document.getElementById('windowOpener_Button').click();");
    WebDriver.SwitchTo().Window("newDisplayedWindowPopupName"); // continue to test
    

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 2011-07-03
      • 2012-04-21
      • 1970-01-01
      • 2021-01-23
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多