如何填写密码箱并在UWP应用程序上单击使用webview提交

时间:2017-07-15 16:15:35

标签: javascript c# html uwp

这是我要填写表格的html页面



<form action="validate.asp" method="post">
  <input type="TEXT" name="f_uid" size="20" value=""/><br />
  <input type="PASSWORD" name="f_pwd" size="20"/><br />
  <input name="BUILDKEY" type="HIDDEN" value="42779"><br/>
  <input type="SUBMIT" value="SubmitTest">
</form>
&#13;
&#13;
&#13;

这是我在UWP应用程序上使用的代码

string[] cmds = new string[] { $"document.getElementsByName(\"f_uid\")[0].value = testuser",
        $"document.getElementsByName(\"f_pwd\")[0].value = testpass",
        "document.getElementsByTagName('button')[0].click();"};
await test.InvokeScriptAsync("eval", cmds);

它仅在用户名字段上工作,但密码和提交按钮不单击

我尝试更改click();提交();但这也不起作用..

还有其他选择吗?比如调用validate.asp而不是?或其他什么..

或者我做错了吗?

1 个答案:

答案 0 :(得分:0)

使用以下代码

string cmds = string.Format(@"document.getElementsByName('f_uid')[0].value = 'testuser';
                              document.getElementsByName('f_pwd')[0].value = 'testpass';
                              document.getElementsByTagName('button')[0].click();"};
await test.InvokeScriptAsync("eval", new string[] { cmds });

来到

  我做错了吗?

我认为您必须使用;结束每一行,如下所示的代码

string[] cmds = new string[] { @"document.getElementsByName('f_uid')[0].value = testuser;",
                               @"document.getElementsByName('f_pwd')[0].value = testpass;",
                               @"document.getElementsByTagName('button')[0].click();"};
await test.InvokeScriptAsync("eval", cmds);

以下是LogIn到StackOverflow的示例应用:StackOverFlow LogIn