Как переместить / перетащить элемент снаружи в iframe - PullRequest
6 голосов
/ 06 апреля 2020

Мне нужно переместить элемент извне 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)

Похоже, проблема в том, что Я должен переключиться на iframe, прежде чем переместить элемент, но здесь я не вижу такой возможности, потому что drag_and_drop - это комбинированный метод, в котором мой element_source находится вне iframe, а element_target является Сам iframe.

Так что, если я переключусь перед перетаскиванием, он не сможет найти даже element_source .

Вот демонстрационная страница, над которой я работаю: https://grapesjs.com/demo.html

В приведенном выше демонстрационном примере левая сторона - это iframe, а правая панель - набор элементов.

...