簡體   English   中英

網頁無法識別已在文本框中輸入文本

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM