2017-10-14 13 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で利用可能な方法があるので、あなたは、以下のような何かを行うことができます。このことができます

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

希望を (キャストとClick();を呼び出します)。

1
  1. GeckoHtmlElementにInvokeMemberというメソッドはありません。Clickを使用してください。
  2. 指定したコードは、メインスレッドからのみ呼び出す必要があります。必要に応じてGeckoWebBrowserの親にInvokeを使用してください。
  3. あなたの要素の1つは、このように、この要素は、現在のドキュメント内に存在する場合は、最初のチェックを属性を持っていることを、確認するために:

    Dim element = GeckoWebBrowser1.Document.GetElementById("") 
    If element IsNot Nothing AndAlso element.GetAttribute("value") = "1" Then 
        element.SetAttribute("value", "2") 
    End If 
    
関連する問題