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

    Le bouton sur une page a le code suivant:Impossible de cliquer sur le bouton - Watir

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

    mon code: ie.button(:id,"btnSignin").click ne ne pas encore jeter une erreur cliquez pas sur le bouton

    Comment faire le bouton Cliquez sur?

    Répondre

    1

    Votre bouton est un lien hypertexte, alors essayez ceci: ie.link (: id, "btnSignin"). Cliquez sur

    +0

    ur code ne jette pas error..yet le bouton est en fait pas cliqué ... merci pour votre réponse si – Chandiran

    1

    Votre code a une faute de frappe en elle.

    ie.button (: id, "btnSigin ") .cliquer

    devrait être:

    ie.button (: id," btnSignin") .cliquer

    +0

    C'était une faute de frappe de moi en postant .... – Chandiran

    1

    Mon suppose que vous devez déclencher l'événement JavaScript. Pour savoir quel événement doit être tiré lire How to find out which JavaScript events fired?

    Sans beaucoup d'expérimentation, cela pourrait fonctionner:

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

    Malheureusement, celui que vous avez mentionné ne fonctionne pas. Ce cas de Firebug enregistré: mousedown clientX = 1129, clientY = 320 accent mouseup clientX = 1129, clientY = 320 clic clientX = 1129, clientY = 320 DOMActivate mouseout clientX = 1129, clientY = 320 L'un des développeurs dit, c'est en fait un contrôle LLINKBUTTOn LLINKBUTTOn et le gestionnaire onclick est un gestionnaire d'événements dans le code derrière le fichier protégé void btnLogin_Click (expéditeur d'objet, EventArgs e) donc pas JS impliqué ici sur le bouton cliquez. Merci pour votre réponse – Chandiran

    +1

    ASP est un truc côté serveur. Je pense que votre développeur est confus entre le côté client et le côté serveur. Au moment où Watir intervient, nous sommes tous du côté client. Le code que vous avez posté appelle très spécifiquement Javascript, nous pouvons tous le voir ici. La première chose qui se passe est qu'il y a un gestionnaire d'événements qui cherche à exécuter la méthode javascript ValidateAll(). Est-ce que vous avez une erreur de validation sur le formulaire, y at-il une autre valeur qui doit être correctement remplie? être reconnu? nous pourrions avoir besoin de voir plus de la page ou du formulaire. –

    +0

    je ne pouvais pas trouver le bouton par le texte, ne retournera rien. donc dû fixer comme ceci @ browser.buttons.each {| b | (b.fire_event "onclick"; break) si b.text == 'Passer à la caisse'} – territorial

    Questions connexes