Hel*_*nds 21 javascript iframe jquery python-2.7 selenium-webdriver
我需要将元素从 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,右侧面板是元素的集合。
我调查了该应用程序,在这种情况下,即使drag_and_drop_by_offset使用 XPATH 也无法帮助我,因为这个已知的 HTML 5 selenium-drag-issue。您需要根据下一个解决方法创建自定义帮助器:
https://github.com/andywer/drag-mock,并在当前浏览器上下文中使用 CSS 选择器(目前除了 XPATH 之外,没有一个选择器是稳定的),execute_script如果您愿意的话继续使用 python-selenium 绑定。
| 归档时间: |
|
| 查看次数: |
1205 次 |
| 最近记录: |