我试图在gecko浏览器中更改HTML元素值(v45.0.32),但是它说invoke成员不是gecko元素的成员,
For Each solo As Gecko.GeckoHtmlElement In GeckoWebBrowser1.Document.text
If GeckoWebBrowser1.Document.GetElementById("order_status_id").GetAttribute("value") = "1" Then
GeckoWebBrowser1.Document.GetElementById("order_status_id").SetAttribute("value", "2")
If GeckoWebBrowser1.Document.GetElementById("notify").GetAttribute("value") = "1" Then
GeckoWebBrowser1.Document.GetElementById("notify").InvokeMember("click")
GeckoWebBrowser1.Document.GetElementById("button-history").InvokeMember("click")
End If
End If
Next
GeckoWebBrowser1.GoBack()
答案 0 :(得分:1)
GeckoHtmlElement上有一个'Click()'方法,所以您可以执行以下操作:
(强制转换并调用Click();
)
((GeckoHtmlElement)GeckoWebBrowser1.Document.GetElementById("notify")).Click();
希望这有帮助。
答案 1 :(得分:1)
InvokeMember
的方法,请使用Click
。Invoke
。为确保您的某个元素具有属性,请首先检查当前文档中是否存在此元素,如下所示:
Dim element = GeckoWebBrowser1.Document.GetElementById("")
If element IsNot Nothing AndAlso element.GetAttribute("value") = "1" Then
element.SetAttribute("value", "2")
End If