如何在Webdriverjs Javascript NodeJS动作序列中使用ActionSequence操作链?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (91)

我正在链接单击“导航”菜单的操作,为此,我尝试在Javascript/NodeJS Selenium Automation中使用此ActionSequence类。我知道Java中有相当直接的操作链接方式。我该怎么用这个?下面是我引用的文档和我尝试过的代码。有人能写出准确的方式写下它,而不是一行使它工作吗?我尝试了几种方法,但没有一种对我有用。

ActionSequence类,用于定义复杂用户交互的序列。在调用{@link#Perform}之前,不会执行每个序列。

例子:

 new ActionSequence(driver).
     keyDown(Key.SHIFT).
     click(element1).
     click(element2).
     dragAndDrop(element3, element4).
     keyUp(Key.SHIFT).
     perform();

这是行动顺序的文档。

我该如何使用这个类?这是在Javascript Selenium中使用的最新动作链接吗?

我尝试在异步函数中使用这个函数:

  let actionSequence = new webdriver.ActionSequence(driver);

  await  actionSequence
    .mouseMove(NavElementArray[0][1])
    .mouseMove(NavElementArray[2][1])
    .click()
    .perform();

定义动作序列还是使用正确方法?错误' webdriver.ActionSequence is not a constructor'

只需使用Javascript NodeJS webdriverjs即可。谢谢。

提问于
用户回答回答于

不知道你用的是哪个版本,但可参考:https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/actions_exports_LegacyActionSequence.html

不推荐尝试导入/new LegacyActions(driver).chain1().chain2()...chainN().perform()

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动