【问题标题】:Selenium Webdriver drag'n'drop from parent to child iframeSelenium Webdriver 从父 iframe 拖放到子 iframe
【发布时间】:2015-04-09 05:54:26
【问题描述】:

在过去的 5 天里,我一直在寻找任何有效的拖放解决方案。 所以,

Selenium.WebDriver 2.44.0

WebDriver.ChromeDriver.win32 2.13.0.0

Chrome 最新版本。

C#,页面对象模式。 对不起屏幕上的俄语描述:)

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

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

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

这是拖放过程中的一个场景:

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

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

  3. 父页面出现如下代码:

  1. 子元素从第一步开始出现在字符串中。这是我们的元素。

查看屏幕:http://screencast.com/t/Cio4knwp

  1. 当我将元素拉到 iframe 时,onmouseover 事件触发并且子字符串出现在以下字符串中:

http://screencast.com/t/cpj3ihlE959

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

我尝试做的事情:

  1. 简单的 webdriver 拖放不起作用,因为 iframe 中的目标元素。

  2. 按 X、Y 偏移量拖放也不起作用。

  3. 使用操作拖放:

    移动到元素:

公共动作 MoveToElement(IWebElement 元素) { var builder = new Actions(Webdriver); 返回 builder.MoveToElement(element); }

来源 - 我拉的图片

目标 - 容器。

WrapperSelenium.MoveToElement(源) .ClickAndHold(来源) 。建造() .Perform();

WrapperSelenium.SwitchToFrame("WebsiteFrame");

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

也不行。

4.我尝试使用一些 Javascript hack,不记得具体是什么 - 没有成功。

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

    请帮忙!

【问题讨论】:

标签: selenium selenium-webdriver webdriver


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    相关资源
    最近更新 更多