2016-02-11 1 views
0

J'ai une question sur Watin, je viens de commencer à l'utiliser aujourd'hui, et je ne peux pas comprendre comment cliquer sur un bouton js, voici ce que je suis:Firing événement onClick J-Script ne fonctionne pas, le navigateur IE

private void btnLogin_Click(object sender, EventArgs e) 
{ 
    if (!String.IsNullOrWhiteSpace(txtUser.Text) && !String.IsNullOrWhiteSpace(txtPass.Text)) 
    { 
     browser.TextField("Username").Value = (txtUser.Text); 
     browser.TextField("Password").Value = (txtPass.Text); 
     var loginButton = browser.Form(Find.ById("loginForm")).Div(Find.ById("signInButtonPanel")); 
     loginButton.Click(); //does nothing 
     loginButton.FireEvent("onclick"); //does nothing 
    } 
} 

code HTML:

    <div id="signInButtonPanel" data-use-apiproxy-signin="False" data-sign-on-api-path="https://api.roblox.com/login/v1"> 
         <a roblox-js-onclick class="btn-medium btn-neutral">Sign In</a> 
         <a roblox-js-oncancel class="btn-medium btn-negative">Cancel</a> 
        </div> 

Tout sauf les œuvres de pièces de clic, il peut trouver la Division correctement, mais je ne peux pas cliquer dessus. J'ai essayé de chercher beaucoup de choses pour essayer de résoudre mon problème, mais je n'ai pas encore trouvé de réponse.

L'aide serait appréciée!

Répondre

0

Vous devez cliquer sur le lien "Connexion" et non sur le formulaire lui-même. Essayez plutôt ce code:

private void btnLogin_Click(object sender, EventArgs e) 
{ 
    if (!String.IsNullOrWhiteSpace(txtUser.Text) && !String.IsNullOrWhiteSpace(txtPass.Text)) 
    { 
     browser.TextField("Username").Value = (txtUser.Text); 
     browser.TextField("Password").Value = (txtPass.Text); 
     var loginButton = browser.Div(Find.ById("signInButtonPanel")); 
     loginButton.Links[0].Click(); // Try 0 or 1. 
    } 
}