我知道如何使用 getelementbyid 在 Visual Basic (.net) 中通过其 ID 获取元素。
但是如何通过名称属性获取元素。
例如<input id="123" name="**123**">
如果是这样,我如何与所述元素交互。
谢谢
我知道如何使用 getelementbyid 在 Visual Basic (.net) 中通过其 ID 获取元素。
但是如何通过名称属性获取元素。
例如<input id="123" name="**123**">
如果是这样,我如何与所述元素交互。
谢谢
再次假设您使用网络浏览器
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
另外,我不确定您是否只是为了展示示例,但是如果您在元素名称中使用星号,因为它被用作通配符,您可能会遇到一些意外。通常,您只想使用数字和字母(加上连字符和下划线)来保留属性;)
希望这可以帮助。