watir
  • browser-automation
  • 2011-05-06 73 views 1 likes 
    1

    一个页面上的按钮具有下面的代码:无法点击按钮 - 的Watir

    <a onclick="return ValidateAll();" id="btnSignin" tabindex="5" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnSignin", "", true, "Login", "", false, true))'>Sign In 
    

    我的代码:ie.button(:id,"btnSignin").click不会引发任何错误但不点击按钮

    如何使按钮点击?

    回答

    1

    你的按钮是一个超链接,那么试试这个:ie.link(:身份证, “btnSignin”)。单击

    +0

    我们的代码不会引发error..yet按钮实际上没有点击...谢谢对于你的回复,虽然 – Chandiran 2011-05-06 15:47:52

    1

    你的代码中有一个错字。

    ie.button(:身份证, “btnSigin ”)。单击

    应该是:

    ie.button(:身份证,“ btnSignin”)。单击

    +0

    这是我发布时的错字.... – Chandiran 2011-05-06 16:28:41

    1

    我猜测会是你需要消除JavaScript事件。要找出哪些事件应该被解雇读How to find out which JavaScript events fired?

    没有大量的试验,这可以工作:

    browswer.link(:id => "btnSignin").fire_event "onclick" 
    
    +0

    不幸的是,你提到的那个不起作用。这是记录萤火虫事件:鼠标按下clientX = 1129,clientY = 320 重点 鼠标松开clientX = 1129,clientY = 320 点击clientX = 1129,clientY = 320 它等待DOMActivate 鼠标移开clientX = 1129,clientY = 320其中一个开发商说,它实际上是一个ASP控制 LLINKBUTTOn 和onclick处理程序是在代码后面的文件 保护无效btnLogin_Click(对象发件人,EventArgs e) 因此没有JS涉及按钮点击这里的事件处理程序。 感谢您的回复 – Chandiran 2011-05-09 16:03:00

    +1

    ASP是服务器端的东西。我认为你的开发人员在客户端和服务器端之间感到困惑......在Watir涉足的地方,我们都在客户端。你发布的代码非常具体地称为Javascript,我们都可以在那里看到它。首先发生的事情是,有一个事件处理程序希望执行JavaScript ValidateAll()方法..你是否可能在窗体上出现某种验证错误,是否还有其他值需要适当填充获得认可?我们可能需要查看更多的页面或表单。 – 2011-05-11 18:31:13

    +0

    我无法通过文本找到按钮,不会返回任何内容。所以必须像这样修复@ browser.buttons.each {| b | (b.fire_event“onclick”; break)if b.text =='Proceed to Checkout'} – territorial 2017-03-30 23:55:42

    相关问题