我正在尝试使用自定义WebBrowser
控件帮助用户登录其帐户。我正在尝试使用WebBrowser
的InvokeScript
函数将输入标签的值设置为玩家用户名。但是,我当前的解决方案除了渲染空白的白纸外什么也不做。
我当前的代码如下所示(网络是我的WebBrowser
控件的名称):
web.Navigate(CurrentURL, null, @"<script type='text/javascript'>
function SetPlayerData(input) {
username.value = input;
return true;
}
</script>");
web.Navigated += (o, e) =>
{
web.IsScriptEnabled = true;
web.InvokeScript("SetPlayerData", @"test");
};
如前所述,这暂时不起作用。我试图在Windows Phone上执行此操作,因此我在此处和其他地方找到的许多示例都无法使用,因为我无法访问相同的功能。
我将如何成功执行此操作?
编辑:也许我不清楚,但是我正在使用Windows Phone,该API的可用API有限,这意味着我无法访问
Document
属性和许多其他功能。我确实可以访问InvokeScript
,但还不多。 最佳答案
webBrowser1.Document.GetElementById("navbar_username").InnerText ="Tester";
webBrowser1.Document.GetElementById("navbar_password").InnerText = "xxxxxxxxxxx";
foreach (HtmlElement HtmlElement1 in webBrowser1.Document.Body.All)
{
if (HtmlElement1.GetAttribute("value") == "Log in")
{
HtmlElement1.InvokeMember("click");
break;
}
}
您可能会在这里找到更多信息:http://deltahacker.gr/2011/08/15/ftiakste-to-diko-sas-robot/
关于c# - 在WebBrowser控件中设置输入标签的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14681335/