javascript - 无法使用 selenium webdriver 在 nightwatch.js 中执行按钮单击

标签 javascript node.js selenium-webdriver nightwatch.js

我目前是自动化测试新手,并使用 selenium-webdriver 使用 nightwatch.js 执行自动化测试,我正在尝试对网站的航类搜索流程执行自动化测试,我目前在执行点击时遇到问题对于特定按钮。

以下是我尝试过的不同单击命令,不幸的是,这些命令不适用于该特定按钮。我尝试使用 ID、Class 以及 Xpath 选择器来定位按钮元素,但它对任何一个都不起作用,并且在执行脚本时,脚本会在该点停止,当传递断言时,它会显示“无法定位特定元素”

 'continue booking': function (browser) {
    browser
      .waitForElementVisible('#booking_un_step_1', 10000)
      .click('#booking_un_step_1')
      }, 

这是我尝试的第二种方法,

'continue booking': function (browser) {
    browser
      .execute(function (selector) {
        document.querySelector(selector).click();
      }, ['#booking_un_step_1'])
      }, 

还有这个,

'continue booking': function (browser) {
    browser

      .execute(function(browser){
        document.getElementById('#booking_un_step_1').click()
      })
      }, 

最后我也尝试了这个,

'continue booking': function (browser) {
    browser

     .click().keys("t",function(done){
        browser
        .pause(5000)
        .expect.element('#booking_un_step_1').to.have.css('display').which.equals('inline-block');

      })
  },

这是我想要执行点击的按钮,

<button style="margin-left: 6px;" id="booking_un_step_1" type="button" name="next" class=" opn_booking_module_email_or_login btn-new-ui action-button">Continue Booking</button>

请帮我解决这个问题, 提前致谢!

最佳答案

请尝试使用下面的一个。这对我来说效果很好

.waitForElementVisible('button[name=next]', 1000)
.click('button[name=next]')

关于javascript - 无法使用 selenium webdriver 在 nightwatch.js 中执行按钮单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43246871/

相关文章:

javascript - IE 7 中的 javascript NaN 是什么原因导致的?

javascript - 无法使 Node.js hello world 应用程序运行 [Fedora 21]

java - 将方法添加到数组列表并动态调用方法

python - 当 URL 错误时 PhantomJS 不返回错误(python)

java - 使用 Gradle 命令创建 Serenity BDD 骨架项目

javascript - 使用 gulp 设置配置文件。站点加载但 css 注入(inject)没有发生。我该如何解决?

javascript - Postgres 相当于 MySQL 的 SET?

javascript - 如何查找单词在 div 中的位置(y 坐标)

Javascript Regex匹配JSDoc字符串参数说明

javascript - 减少使用NodeJ复制文件夹的时间