相关疑难解决方法(0)

如何将元素从外部移动/拖动到 iframe

我需要将元素从 iframe 外部移动到 iframe 中。我的元素面板不是 iframe 的一部分,但我的画布在 iframe 中并且想要将元素移入其中。

我试过下面的代码:

 element_source = self._selenium.find_element(By.XPATH,
                                          '//div[@class="gjs-block-label"][contains(.,"Tooltip")]')
    element_target=self._selenium.find_element(By.CLASS_NAME,'gjs-frame')
    actions = ActionChains(self._driver)
    actions.drag_and_drop(element_source, element_target).perform()
    time.sleep(5)
Run Code Online (Sandbox Code Playgroud)

看起来问题是我必须在移动元素之前切换到 iframe,但在这里我看不到这种可能性,因为 drag_and_drop 是组合方法,其中我的 element_source在 iframe 之外,element_target是 iframe 本身。

所以如果我在拖放之前切换,它甚至找不到element_source

这是我正在处理的演示页面:https : //grapesjs.com/demo.html

在上面的演示中,左侧是 iframe,右侧面板是元素的集合。

javascript iframe jquery python-2.7 selenium-webdriver

21
推荐指数
1
解决办法
1205
查看次数

Jquery可在父框架和子框架之间进行排序和拖拽

我试图在父框架和子框架之间实现jQuery Draggable | Droppable | Sortable.我有一个这样的原型,但有一些奇怪的行为发生

win = document.getElementById('frame').contentWindow;

element = win.document.getElementById('sortable');
$(element).sortable();
console.log(element);
$( "#draggable" ).draggable({
      connectToSortable: $(element),
     iframefix: true,
    helper: function() {return $("<div/>").css('background-color','red');}
});
Run Code Online (Sandbox Code Playgroud)

iframe页面还包含

$("#sortable").sortable();
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle http://jsfiddle.net/vxAzs/5/

当我尝试将元素放在iframe上时,它工作正常,但是当我尝试对iframe上的元素进行排序时,元素会粘到我认为的两个页面的click事件上(所以在我点击两个父项之前它不会被删除和iframe).我认为这与父和iframe中的.sortable()调用有关,但如果我删除了droppable停止工作.

javascript jquery jquery-ui jquery-ui-sortable jquery-ui-draggable

5
推荐指数
1
解决办法
3316
查看次数