【问题标题】:Protractor - Drag and Drop Not Working量角器 - 拖放不起作用
【发布时间】:2020-12-09 02:08:11
【问题描述】:

我正在尝试将一个元素拖放到另一个元素。我可以看到它捡起元素,然后将其从屏幕上移开,并且永远不会将其放到应有的位置。

我尝试过的事情

const leftSide =  this.breakdownItems.get(0).getWebElement()
const rightSide = this.groupField.getWebElement()
browser.actions()
.mouseDown(leftSide)
.mouseMove(rightSide)
.mouseUp()
.perform()
browser.sleep(2000)

browser.actions()
.dragAndDrop(leftSide, rightSide)
.perform()
browser.sleep(2000)

我确实发现了 Selenium 的一个开放缺陷,该缺陷尚未修复,涉及拖放:https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/3604

有没有人真正得到这个工作,因为标准的东西似乎根本不起作用? 我还应该提到,我只在 Chrome 中运行我的测试。

【问题讨论】:

    标签: typescript selenium-webdriver protractor


    【解决方案1】:

    可以使用外部库:html-dnd:https://www.npmjs.com/package/html-dnd

    对我来说就像魅力一样。

    【讨论】:

    • 非常感谢。这非常有效。如果可以的话,我会投票一百万次。
    【解决方案2】:

    你的脚本没有运行的主要原因是dragAndDrop()方法输入参数, dragAndDrop 方法以WebElement 作为输入,下面是您可以做的代码更改。

     browser.actions()
    .dragAndDrop(leftSide.getWebElement(), rightSide.getWebElement())
    .perform()
    browser.sleep(2000)
    

    【讨论】:

    • OP 使 leftSiderightSide WebElements 像他们一样:const leftSide = this.breakdownItems.get(0).getWebElement() const rightSide = this.groupField.getWebElement()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多