簡體   English   中英

如何在.NET Visual Basic中按名稱獲取元素

[英]How to get element by name in .net visual basic

我知道如何使用getelementbyid在Visual Basic(.net)中通過其ID獲取元素。

但是如何通過其name屬性獲取元素。

例如<input id="123" name="**123**">

如果是這樣,我如何與所述元素進行交互。

謝謝

同樣,使用webbroswer承擔責任

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

    'NAVIGATE
    WebBrowser1.Navigate("whereveryourgoing")
    'Waiting for page to load function
    WaitForPageLoad()

    'Get Element by Name
    Dim fb_button As String = String.Empty
    For Each element As HtmlElement In WebBrowser1.Document.All
        If InStr(element.Name, "loginBox") Then
            fb_button = element.Id
            'MsgBox(fb_button & " Found! ")
            'MsgBox(element.InnerHtml.Length.ToString)
            'MsgBox(element.InnerHtml.ToString)
        End If
    Next

    '\/ - Perform Actions
    WebBrowser1.Document.GetElementById(fb_button).SetAttribute("value", Password) 'or InvokeMember("submit") or InvokeMember("click")
    MsgBox("Done")

End Sub

資源

如果我對您的理解正確,則需要執行以下操作:

            Dim myInput As HtmlInputControl = CType(e.Item.FindControl("123"), HtmlInputControl)

然后使用剛剛創建的輸入進行處理

            myInput.Enabled = False

要么

您可以將runat="server"添加到元素<input id="123" name="**123**" runat="server"> ,然后只要其ID服務器端引用該元素即可,只要該函數您引用的元素不是共享函數(如果是共享函數,則需要創建該類的新實例來引用它)。

           123.Enabled = False

另外,我不確定是否只是為了顯示示例而已,但是如果在元素名稱中使用星號,則由於將其用作通配符,您可能會感到有些意外。 通常,您只想保留數字和字母(加上連字符和下划線)的屬性;)

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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