我有一个关于WatiN的问题,我今天刚开始使用它,我无法弄清楚如何点击js按钮,这里是我得到的:
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
}
}
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>
除了点击部分之外的所有工作,它都可以正确找到Div,但我无法点击它。我尝试研究很多东西来试图解决我的问题,但我还没找到答案。
帮助将不胜感激!
答案 0 :(得分:0)
You should be clicking on the "Sign In" link not the form itself. Try this code instead:
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.
}
}