2014-02-19 38 views
0

我想通過ID來獲得元素設置的屬性值,然後獲得屬性,等等....獲取和元素awesomium在C#

在Web瀏覽器中,我從這個代碼中使用:

   HtmlElement element = wb.Document.Body.Document.GetElementById("dnn_ctr730_ViewTMUrbanFileStatusFromWebService_fb_Captcha_CaptchaImageUP"); 
       if (element != null) 
       { 
        string link = element.GetAttribute("src"); 

但是在awesomium中我該怎麼做?

而且當我想從這個代碼中使用的網絡瀏覽器的值設置爲元素:

wb.Document.GetElementById("txtFileNo").SetAttribute("Value", "12345"); 
wb.Document.GetElementById("BTN").InvokeMember("click"); 

,但我不知道我可以在awesomium做到這一點....

我發現設定值驗證碼:

 dynamic document = (JSObject)webctrl.ExecuteJavascriptWithResult("document"); 
     if (document == null) 
      return ""; 
     using (document) 
     { 
      dynamic elem = document.getElementById("txt1"); 

      if (elem == null) 
       return ""; 

      using (elem) 
       elem.value = "test"; 

,但我不知道如何調用點擊,以及如何獲得屬性值...

anye one can help me ..?

親切的問候

回答

1

我會用jQuery's attr()jQuery's trigger()

webctrl.ExecuteJavascript("$(#txtFileNo).attr('value', '12345');"); 
webctrl.ExecuteJavascript("$(#BTN).trigger('click');"); 

因爲你的目標單一的瀏覽器,你可以使用普通的舊JavaScript來此對鉻DOM。但是,我發現jQuery's trigger()比替代方案更容易使用。

+0

感謝您的信息,一切正常,但只提交代碼'「$(BTN).trigger('click');」'不適合我!你可以給我更多的解決方案嗎?親切的問候 – Sam

+0

:我也使用這些代碼:'動態元素=(JSObject)webctrl.ExecuteJavascriptWithResult(「document.getElementById('btn')」);如果(element!= null) element.Invoke(「click」); element.Invoke(「submit」); }'但是不能工作...... – Sam

+0

哎呀,忘了使用'#'選擇器來通過id獲取元素... –