【问题标题】:Work Around for drag and drop in playwright python在剧作家 python 中解决拖放问题
【发布时间】:2021-06-24 01:21:33
【问题描述】:

我正在尝试使用当前可用的鼠标操作来实现拖放功能(我能够看到有一个未解决的问题),但到目前为止还不能做到这一点。所以我正在寻找解决方法,无论如何我们可以在剧作家python中实现拖放。下面是我正在尝试使用的代码。

await page.mouse.move(472, 399)
await page.mouse.down()
await page.mouse.move(991, 313)
await page.mouse.up()

谢谢

【问题讨论】:

    标签: playwright-python


    【解决方案1】:

    我假设在您的情况下 HTML5 拖放不起作用。

    不幸的是,在撰写本文时,当前的剧作家 python (1.10.x) 不会通过 mouse.downmouse.movemouse.up API 触发 dragstartdrop 事件。

    以下代码应该可以工作(使用sync_api),

    # This element should have the draggable attribute value as true
    src_elem = page.query_selector('div.foo')
    # This element should be the element as the drop target
    dest_elem = page.query_selector('div.bar')
    # Create a data transfer JSHandle instance
    data_transfer = page.evaluate_handle('() => new DataTransfer()')
    src_elem.dispatch_event('dragstart', { 'dataTransfer': data_transfer })
    dest_elem.dispatch_event('drop', { 'dataTransfer': data_transfer })
    # Now check whether the dropped effect is achieved
    dest_elem.wait_for_selector('ENTER SELECTOR AFTER DROP EFFECT')
    

    【讨论】:

      猜你喜欢
      • 2021-02-19
      • 2021-01-01
      • 2022-08-04
      • 2022-12-22
      • 1970-01-01
      • 1970-01-01
      • 2022-11-21
      • 2022-06-21
      • 1970-01-01
      相关资源
      最近更新 更多