2017-10-14 48 views
0

我试着在壁虎浏览器(v45.0.32)更改HTML元素的值,但跟它调用成员不壁虎元素中的一员,不能改变元素值的Gecko浏览器(V45)

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() 

回答

1

有一个“点击()”方法上GeckoHtmlElement,所以你可以这样做如下: (演员和调用Click();

((GeckoHtmlElement)GeckoWebBrowser1.Document.GetElementById("notify")).Click(); 

希望这有助于。

1
  1. 在GeckoHtmlElement中没有称为InvokeMember的方法,使用Click
  2. 您指定的代码只能从主线程调用。如有必要,请在GeckoWebBrowser的父级上使用Invoke
  3. 要确保,您的元素中的一个具有属性,首先检查是否存在此元素当前文档中,像这样的:

    Dim element = GeckoWebBrowser1.Document.GetElementById("") 
    If element IsNot Nothing AndAlso element.GetAttribute("value") = "1" Then 
        element.SetAttribute("value", "2") 
    End If 
    
相关问题