[英]web page doesn't recognize text has been entered in textbox
因此,我要设置文本框的值,然后单击一个按钮以提交搜索。 文本框中的值显示了我想要的内容,但是当我单击按钮时,网站在页面上向我显示一条错误消息,好像文本框的值是空的(即使我正在查看并且它还在显示)我想要的)。
现在,如果我手动单击按钮,它仍然认为文本框为空。 但是,如果我手动单击该文本框(只需单击,不要更改任何内容),然后手动单击该按钮,它将起作用。
因此,显然在幕后发生了一些事情,要求文本框具有焦点,然后页面才能识别出所键入的内容。
private void SetText(string elementID, string text)
{
foreach (HtmlWindow hw in this.webBrowser1.Document.Window.Frames)
{
HtmlElement element = hw.Document.GetElementById(elementID);
if (element != null)
{
element.SetAttribute("value", text);
// here's where I'm trying things
break;
}
}
}
这是我尝试过的方法(不确定所有这些方法是否都是有效的方法,但无论如何我还是尝试了它们:
我尝试将焦点设置在文本框上,然后通过在按钮上设置它(元素.Focus(),然后是button.Focus())来删除它,然后再单击按钮。
我尝试调用更改后的事件-element.InvokeMember(“ change”),element.InvokeMember(“ changed”),element.InvokeMember(“ onchange”),element.InvokeMember(“ textchanged”)。
我尝试调用焦点事件-element.InvokeMember(“ focus”)。
我尝试调用lostfocus事件-element.InvokeMember(“ lostfocus”)。
我不知道当有人实际在文本框中键入内容时,网页会被触发,但这显然阻止了该页面“看到”我的代码所放置的内容。
有任何想法吗?
原来,有3个文本框(每个框的名称略有不同)相互连接。 必须先设置所有3个值,然后按钮才能正常工作。 我以为我已经尝试过了,但是也许我之前没有做过全部三件事,或者我的顺序错了。 啊。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.