2חור ישי2ה
New member
הזרקת JS לתוך WebBrowser.Document
חיפשתי דרך לקבל את הDOM של דף Web אחרי ביצוע כל הJS שאמורים להתבצע בדף. הבעיה העיקרית: האירוע DocumentComplete מתרחש מיד שמסתיימת טעינת הדף, אך לפני שמבוצע קוד הJS של הדף. האפשרות שעלתה היא: קודם כל להזריק לדף HTMLElement כלשהו ולקשר אירוע onclick (למשל) שלו לאיזו מתודה בקוד הvb.net שלי. דוגמה:
חיפשתי דרך לקבל את הDOM של דף Web אחרי ביצוע כל הJS שאמורים להתבצע בדף. הבעיה העיקרית: האירוע DocumentComplete מתרחש מיד שמסתיימת טעינת הדף, אך לפני שמבוצע קוד הJS של הדף. האפשרות שעלתה היא: קודם כל להזריק לדף HTMLElement כלשהו ולקשר אירוע onclick (למשל) שלו לאיזו מתודה בקוד הvb.net שלי. דוגמה:
Dim lblDone As HtmlElement = browser.Document.CreateElement("p") lblDone.Id = "__lblDoNe" lblDone.InnerText = "Done" browser.Document.Body.AppendChild(lblDone) browser.Document.GetElementById("__lblDoNe").AttachEventHandler("onclick", AddressOf js_complete_handler)
לאחר מכן להזריק קוד JS משלי לסוף הדף (כך שברוב המקרים יתבצע אחרון) שיביים את האירוע המסוים בHTMLElement שהזרקתי. כך תכננתי לקבל את הDOM שאחרי הביצוע.Dim scriptDone As HtmlElement = browser.Document.CreateElement("script") scriptDone.SetAttribute("type", "text/javascript") scriptDone.InnerText = "document.getElementById(""__lblDoNe"").fireEvent(""onclick"");" browser.Document.Body.AppendChild(scriptDone)
אך נתקלתי בבעיה שהקוד JS שהזרקתי לא עובד... כל הדוגמאות כאן, מישהו רואה את הבעיה?