Javascript 将元素拖放到特定位置-Selenium、WebDriverJS

Javascript 将元素拖放到特定位置-Selenium、WebDriverJS,javascript,selenium,webdriver,jasmine,Javascript,Selenium,Webdriver,Jasmine,我正在尝试使用Selenium、WebDriverJS和Jasmine创建一个测试,以验证无论何时通过拖放选择将li元素向右移动,都不应再显示它。这是我的代码片段: it('should make the card disappear when the UI is swiped right', function() { var card1 = driver.findElement(webdriver.By.css('.slide:nth-last-child(1)')); var

我正在尝试使用
Selenium
WebDriverJS
Jasmine
创建一个测试,以验证无论何时通过拖放选择将
li
元素向右移动,都不应再显示它。这是我的代码片段:

it('should make the card disappear when the UI is swiped right', function() {
    var card1 = driver.findElement(webdriver.By.css('.slide:nth-last-child(1)'));
    var card1Move = driver.executeScript('arguments[0].setAttribute("style", "right:250px")', card1);
    driver.actions()
        .mouseMove(card1)
        .mouseDown()
        .mouseMove(card1Move)
        .mouseUp()
        .perform();
    driver.findElement(webdriver.By.css('.slide:nth-last-child(1)')).isDisplayed()
        .then(function(elem) {
            expect(elem).toBe(false);
        });
})
该函数似乎正在工作,但出现以下错误:

Failures:
    1) Swiping method should make the card disappear when the UI is swiped right

Message:
    TypeError: location.getRawId is not a function
Stack:
    TypeError: location.getRawId is not a function
    at webdriver.ActionSequence.mouseMove (/Users/.../node_modules/selenium-webdriver/lib/webdriver/actionsequence.js:108:46)
    at Object.<anonymous> (/Users/.../tests/index.js:27:14)
故障:
1) 当用户界面正确刷卡时,刷卡方法应使卡消失
信息:
TypeError:location.getRawId不是函数
堆栈:
TypeError:location.getRawId不是函数
在webdriver.ActionSequence.mouseMove(/Users/../node\u modules/selenium webdriver/lib/webdriver/ActionSequence.js:108:46)
反对。(/Users/../tests/index.js:27:14)
根据测试,错误在
.mouseMove(card1Move)
方法中。 你知道是什么导致了这个问题,以及解决这个问题的可能方法吗?提前感谢您的回复

mouseMove(card1Move)
替换为
mouseMove({x:offsetFromCenter,y:offsetFromCenter})


e、 g.
mouseMove({x:100,y:0})
将移动100px到card1中心的右侧。

当前您也可以这样做

.dragAndDrop(card1, { x: 100, y: 0 })
它正是这样做的-
mouseDown(元素).mouseMove(位置).mouseUp()


请参见

我在量角器中遇到了相同的错误“失败:location.getRawId不是函数”-我的问题是找不到我正在搜索的元素。

它是否在不同的浏览器中复制?您是否也可以发布完整的错误回溯?谢谢,就在Firefox里。当然我刚刚为您更新了它。如何使用php webdriver实现?没错,这里也是