Selenium Webdriver从父母拖到儿童iframe

时间:2015-02-09 13:13:20

标签: selenium selenium-webdriver webdriver

我一直在寻找任何可行的解决方案来拖延过去5天。 所以,

Selenium.WebDriver 2.44.0

WebDriver.ChromeDriver.win32 2.13.0.0

Chrome最新版本。

C#,Page对象模式。 对不起屏幕上的俄语说明:)

我们有.net cms。它有页面编辑器。编辑器在父页面中打开,如果从同一域中加载iframe,则编辑页面。

我需要将项目(图片,视频等)拖放到iframe中的具体容器中。据我所知,CMS中使用了以下内容:此文件包含以下文件:jQuery 1.11 .1 + jQuery UI 1.10.4 + jQuery Migrate 1.2.1 * /)。

一段代码:http://screencast.com/t/ArEk54ue

以下是拖放  删除期间的情况:

  1. 在父内容中,我选择了一些元素id = someelement。 (字符串未激活)。

  2. 点击并按住元素,将其拉入iframe。

  3. 以下代码显示在父页面中:

    1. 子元素从第1步开始出现在String中。这是我们的元素。
    2.                        

      参见屏幕:http://screencast.com/t/Cio4knwp

      1. 当我将元素拉到iframe onmouseover事件时,子字符串出现在以下字符串中:
      2. http://screencast.com/t/cpj3ihlE959

        容器在鼠标悬停时将其颜色更改为绿色。 iframe中的容器代码: http://screencast.com/t/Z6QBD6IYuB

        我试图做的事情:

        1. 简单的网络驱动程序拖动,因为iframe中的目标元素不起作用。

        2. 拖动X,Y偏移也不起作用。

        3. 使用操作拖放“

          MoveToElement:

        4. public Actions MoveToElement(IWebElement element)        {            var builder = new Actions(Webdriver);            return builder.MoveToElement(element);        }

          来源 - 我拉的图片

          目标 - 容器。

          WrapperSelenium.MoveToElement(源)                 .ClickAndHold(源)                 。建立()                 .Perform();

          WrapperSelenium.SwitchToFrame(" WebsiteFrame&#34);

          WrapperSelenium.MoveToElement(目标)                 .Release(目标)                 。建立()                 .Perform();

          也不行。

          4.我曾试图使用一些Javascript黑客,不记得究竟是什么 - 没有成功。

          1. 现在我尝试使用jquery-simulate(https://github.com/j-ulrich/jquery-simulate-ext) - 我可以点击一个hold元素,容器变为活动状态,但我无法释放元素并找到目标。

            请帮忙!

1 个答案:

答案 0 :(得分:0)

我决定使用AutoIt - 开发人员使用复杂的代码结构