2017-04-06 84 views
1

我目前还不熟悉自动化测试和使用selenium-webdriver执行与nightwatch.js的自动化测试,我正试图在飞行搜索流程中执行自动测试一个网站,我目前无法执行点击某个特定的按钮。无法在nightwatch.js中使用硒webdriver执行按钮点击

以下是我尝试过的不同点击命令,不幸的是没有为特定按钮工作。我试图使用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(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> 

请帮我出这个问题, 提前感谢!

+0

请这个选择尝试'按钮[ID =“booking_un_step_1”] [NAME =“下一步”]' –

+0

嗨,@BaoTran感谢你可惜没有奏效对于我来说,当我尝试像这样[链接](https://jsfiddle.net/nu000e6q/)它给了我一个“参考错误”:按钮没有定义 ,当以这种方式尝试[链接](https:/ /jsfiddle.net/sqo4aqfq/)未执行点击。 –

+0

请执行此操作并将结果返回给我浏览器 .waitForElementVisible('button [id =“booking_un_step_1”]',10000) .click('button [id =“booking_un_step_1”]') –

回答

1

请尝试使用下面的一个。这工作很适合我

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