[英]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.