2017-10-14 47 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 
    
相關問題