- tarik
- عدد المساهمات : 134
تاريخ التسجيل : 08/10/2012
in vb.net webbrower
الأربعاء أكتوبر 10, 2012 6:49 pm
ولاً : التعريف :
WebBrowser هي اداة تعمل عمل اي متصفح و بالاخص مثل المتصفح الشهير Internet Explorer
فهي تساعدك في تصفح المواقع من ناحية و التحكم في اكوادها HTML وكل ما يرتبط بها من ادخال و استخراج بيانات من ناحية اخرى.
واليكم هذا بالتفصيل >>
ثانياً : اهم الخصائص:
Name : اسم الاداة و الاسم الافتراضي هو 1 WebBrowser .
AllowNavigation : السماح للتصفح داخل الاداة وبها اختيارين :-
-True : السماح بالتصفح وهو الافتراضي .
-False : عدم السماح بالتصفح .
Dock : مكان الاداة و الازاحة الخاصه بها اي بمعنى مكان وجود الاداة في البرنامج دائما ثابته في الاعلى ام الاسفل ام اليسار ام اليمين ام الوسط ام حره (None).
Location : مكان الخاص بالاداة داخل البرنامج تبعا لخطوط الطول و العرض الموجوده داخل البرنامج
وهذه الخاصية لا تعمل الا اذا كانت الاداة حره في الخاصية Dock وبها حقلين :-
-X : المكان بالنسبه لخطوط العرض .
-Y : المكان بالنسبه لخطوط الطول .
-Locked : عدم تحريك الاداة ابدا من مكانها و بداخلها اختيارين :-
--True : تفعيل عدم تحريك الاداة ابدا .
--False : السماح بتحريك الاداة من مكانها .
Margin : الابتعاد عن الحواف وبها 4 حقول :-
-All : مقاس الابتعاد عن الحواف من جميع الجهات .
-Left : مقاس الابتعاد عن الحواف من جهة اليسار .
-Top : مقاس الابتعاد عن الحواف من الاعلى .
-Right : مقاس الابتعاد عن الحواف من جهة اليمين .
-Bottom : مقاس الابتعاد عن الحواف من الاسفل .
MaximumSize : الحد الاقصى لحجم الاداة وبها حقلين :-
-Width : مقاس العرض .
-Height : مقاس الطول .
MinimumSize : الحد الادنى لحجم الاداة و بها حقلين :-
-Width : مقاس العرض .
-Height : مقاس الطول .
ScrollBarsEnabled : خاصة بتفعيل شريط التمرير و بها حلقين :-
-True : السماح بتفعيل الشريط التمرير .
-False : عدم السماح بتفعيل الشريط التمرير .
Size : الحجم الحالي للاداة وبها اختيارين :-
-Width : مقاس العرض .
-Height : مقاس الطول.
TabStop : ايقاف استخدام زر Tab للتنقل داخل الاداة وبها اختيارين :-
-True : ايقاف تفعيل استخدام زر Tab .
-False : تفعيل استخدام زر Tab .
Url : رابط الموقع و لكن يجب اضافة //:http في بداية الرابط .
Visible : حالة الاداة من ناحية الظهور وبها اختيارين :--
-True : ظهور الاداة امام المستخدم .
-False : عدم ظهور الاداة اما المستخدم .
ثالثاً : اهم الاحداث(التصريحات) :
CanGoBackChanged : هذا الحدث خاص بحالة قدرة الاداة لتنفيذ امر الرجوع للصفحة السابقة ام لا ويمكن ايضا ان نستخدمها في تفعيل زر الرجوع او ايقافه .
CanGoForwardChanged : هذا الحدث خاص بحالة قدرة الاداة لتنفيذ امر الانتقال للامام (اي الصفحة التالية التي تم زيارتها من قبل) ام لا ويمكن ايضا ان نستخدمها في تفعيل زر الانتقال للامام او ايقافه .
DocumentCompleted : هذا الحدث خاص بما يحدث عندما تقوم الاداة باتمام فتح صفحة ما (اي تنفيذ اوامر عند الانتهاء من تحميل اي صفحة) .
DocumentTitleChanged : هذا الحدث خاص بما يحدث عندما يتغير عنوان الصفحة .
ملاحظة : عنوان الصفحة لمن لا يعرفه هو النص الذي يظهر في اعلى اي متصفح باسم الموقع ويكون موجود هذا النص داخل اكواد HTML الخاصة بالموقع داخل عنصر title على سبيل المثال : </title>هنا العنوان<title> .
Navigating : هذا الحدث خاص بما يحدث اثناء قيام الاداة بتحميل صفحة ما .
ProgressChanged : هذا الحدث خاص بمعرفة قيمة التغير(التحميل) الحادث اثناء تحميل اي صفحة .
StatusTextChanged : هذا الحدث خاص بمعرفة النص الخاص بحالة التصفح مثل تحميل صفحة ما او الانتهاء من تحميلها او عند الوقوف على رابط يظهر الرابط .
رابعاً : اهم الاكواد (هناك مثال مرفق به تطبيق شامل لكل هذه الخصائص و الاحداث و الاكواد)
اولاً : اكواد التصفح :-
فتح صفحة موقع
ثانياً : اكواد النوافذ الملحقة بالاداة :-
حفظ الصفحة
قص النص المحدد
اولاً : التعاملات العامة :-
استخراج نص الصفحة
اولاً : GetElementById
الاستخراج
ثانياً : GetElementsByTagName
الاستخراج
ثالثا : All
الاستخراج
CanGoBackChanged
[cod]
If WebBrowser1.CanGoBack Then 'ان كانت الاداة قادرة على الرجوع للخلف
Button1.Enabled = True ' تفعيل زر الرجوع للخلف
Else 'وان كانت غير قادرة
Button1.Enabled = False 'عدم تفعيل زر الرجوع للخلف
End If
CanGoForwardChanged
[/code]
ToolStripProgressBar1.Value = e.CurrentProgress ' تساوي قيمة التحميل الحالية ToolStripProgressBar1 جعل القيمة الحالية لاداة
StatusTextChanged
تم بحمد الله
WebBrowser هي اداة تعمل عمل اي متصفح و بالاخص مثل المتصفح الشهير Internet Explorer
فهي تساعدك في تصفح المواقع من ناحية و التحكم في اكوادها HTML وكل ما يرتبط بها من ادخال و استخراج بيانات من ناحية اخرى.
واليكم هذا بالتفصيل >>
ثانياً : اهم الخصائص:
Name : اسم الاداة و الاسم الافتراضي هو 1 WebBrowser .
AllowNavigation : السماح للتصفح داخل الاداة وبها اختيارين :-
-True : السماح بالتصفح وهو الافتراضي .
-False : عدم السماح بالتصفح .
Dock : مكان الاداة و الازاحة الخاصه بها اي بمعنى مكان وجود الاداة في البرنامج دائما ثابته في الاعلى ام الاسفل ام اليسار ام اليمين ام الوسط ام حره (None).
Location : مكان الخاص بالاداة داخل البرنامج تبعا لخطوط الطول و العرض الموجوده داخل البرنامج
وهذه الخاصية لا تعمل الا اذا كانت الاداة حره في الخاصية Dock وبها حقلين :-
-X : المكان بالنسبه لخطوط العرض .
-Y : المكان بالنسبه لخطوط الطول .
-Locked : عدم تحريك الاداة ابدا من مكانها و بداخلها اختيارين :-
--True : تفعيل عدم تحريك الاداة ابدا .
--False : السماح بتحريك الاداة من مكانها .
Margin : الابتعاد عن الحواف وبها 4 حقول :-
-All : مقاس الابتعاد عن الحواف من جميع الجهات .
-Left : مقاس الابتعاد عن الحواف من جهة اليسار .
-Top : مقاس الابتعاد عن الحواف من الاعلى .
-Right : مقاس الابتعاد عن الحواف من جهة اليمين .
-Bottom : مقاس الابتعاد عن الحواف من الاسفل .
MaximumSize : الحد الاقصى لحجم الاداة وبها حقلين :-
-Width : مقاس العرض .
-Height : مقاس الطول .
MinimumSize : الحد الادنى لحجم الاداة و بها حقلين :-
-Width : مقاس العرض .
-Height : مقاس الطول .
ScrollBarsEnabled : خاصة بتفعيل شريط التمرير و بها حلقين :-
-True : السماح بتفعيل الشريط التمرير .
-False : عدم السماح بتفعيل الشريط التمرير .
Size : الحجم الحالي للاداة وبها اختيارين :-
-Width : مقاس العرض .
-Height : مقاس الطول.
TabStop : ايقاف استخدام زر Tab للتنقل داخل الاداة وبها اختيارين :-
-True : ايقاف تفعيل استخدام زر Tab .
-False : تفعيل استخدام زر Tab .
Url : رابط الموقع و لكن يجب اضافة //:http في بداية الرابط .
Visible : حالة الاداة من ناحية الظهور وبها اختيارين :--
-True : ظهور الاداة امام المستخدم .
-False : عدم ظهور الاداة اما المستخدم .
ثالثاً : اهم الاحداث(التصريحات) :
CanGoBackChanged : هذا الحدث خاص بحالة قدرة الاداة لتنفيذ امر الرجوع للصفحة السابقة ام لا ويمكن ايضا ان نستخدمها في تفعيل زر الرجوع او ايقافه .
CanGoForwardChanged : هذا الحدث خاص بحالة قدرة الاداة لتنفيذ امر الانتقال للامام (اي الصفحة التالية التي تم زيارتها من قبل) ام لا ويمكن ايضا ان نستخدمها في تفعيل زر الانتقال للامام او ايقافه .
DocumentCompleted : هذا الحدث خاص بما يحدث عندما تقوم الاداة باتمام فتح صفحة ما (اي تنفيذ اوامر عند الانتهاء من تحميل اي صفحة) .
DocumentTitleChanged : هذا الحدث خاص بما يحدث عندما يتغير عنوان الصفحة .
ملاحظة : عنوان الصفحة لمن لا يعرفه هو النص الذي يظهر في اعلى اي متصفح باسم الموقع ويكون موجود هذا النص داخل اكواد HTML الخاصة بالموقع داخل عنصر title على سبيل المثال : </title>هنا العنوان<title> .
Navigating : هذا الحدث خاص بما يحدث اثناء قيام الاداة بتحميل صفحة ما .
ProgressChanged : هذا الحدث خاص بمعرفة قيمة التغير(التحميل) الحادث اثناء تحميل اي صفحة .
StatusTextChanged : هذا الحدث خاص بمعرفة النص الخاص بحالة التصفح مثل تحميل صفحة ما او الانتهاء من تحميلها او عند الوقوف على رابط يظهر الرابط .
رابعاً : اهم الاكواد (هناك مثال مرفق به تطبيق شامل لكل هذه الخصائص و الاحداث و الاكواد)
اولاً : اكواد التصفح :-
فتح صفحة موقع
- الكود:
WebBrowser1.Navigate("رابط الصفحة كامل")
- الكود:
WebBrowser1.Navigate("about:blank")
- الكود:
WebBrowser1.GoBack()
- الكود:
WebBrowser1.GoForward()
- الكود:
WebBrowser1.Refresh()
- الكود:
WebBrowser1.Stop()
ثانياً : اكواد النوافذ الملحقة بالاداة :-
حفظ الصفحة
- الكود:
Form1.WebBrowser1.ShowSaveAsDialog()
- الكود:
Form1.WebBrowser1.ShowPrintPreviewDialog()
- الكود:
Form1.WebBrowser1.ShowPrintDialog()
- الكود:
Form1.WebBrowser1.ShowPropertiesDialog()
- الكود:
Form1.WebBrowser1.ShowPageSetupDialog()
- الكود:
Form1.WebBrowser1.Document.Window.Alert("نص الرسالة")
- الكود:
Dim url As String = WebBrowser1.Document.Url.ToString
Dim frm As New Form1
frm.Show()
frm.WebBrowser1.Navigate(url)
- الكود:
MsgBox(WebBrowser1.Version.ToString)
قص النص المحدد
- الكود:
Form1.WebBrowser1.Document.ExecCommand("cut", True, DBNull.Value)
- الكود:
Form1.WebBrowser1.Document.ExecCommand("copy", True, DBNull.Value)
- الكود:
Form1.WebBrowser1.Document.ExecCommand("paste", True, DBNull.Value)
- الكود:
Dim data As DataObject = Clipboard.GetDataObject 'الاحتفاظ بما تم نسخة
Form1.WebBrowser1.Document.ExecCommand("Copy", False, Nothing)
Form1.WebBrowser1.Focus()
SendKeys.SendWait("^f")
Clipboard.SetDataObject(data) 'ارجاع ما تم نسخة قبل عملية البحث
اولاً : التعاملات العامة :-
استخراج نص الصفحة
- الكود:
Form2.Text = "WebBrowser Get TEXT"
Form2.RichTextBox1.Text = WebBrowser1.Document.Body.InnerText
Form2.Show()
- الكود:
Form2.Text = "WebBrowser Get HTML"
Form2.RichTextBox1.Text = WebBrowser1.Document.GetElementsByTagName("HTML").Item(0).OuterHtml
Form2.Show()
- الكود:
Form1.WebBrowser1.Document.Body.InnerText = RichTextBox1.Text
- الكود:
Form1.WebBrowser1.Document.Body.InnerHtml = RichTextBox1.Text
اولاً : GetElementById
الاستخراج
- الكود:
MsgBox(Form1.WebBrowser1.Document.GetElementById(رقم الاي دي).GetAttribute(اسم المطلوب محتواه))
- الكود:
Form1.WebBrowser1.Document.GetElementById(رقم الاي دي).SetAttribute(اسم المرسل اليه,النص المرسل)
- الكود:
Form1.WebBrowser1.Document.GetElementById(رقم الاي دي).InvokeMember("click")
ثانياً : GetElementsByTagName
الاستخراج
- الكود:
If (Form1.WebBrowser1.Document IsNot Nothing) Then
Dim Elems As HtmlElementCollection
Dim WebOC As Windows.Forms.WebBrowser = Form1.WebBrowser1
Elems = WebOC.Document.GetElementsByTagName(Tag اسم)
For Each elem As HtmlElement In Elems
Dim NameStr As String = elem.GetAttribute(اسم عنصر الاثبات)
If ((NameStr IsNot Nothing) And (NameStr.Length <> 0)) Then
If NameStr.ToLower().Equals(محتوى عنصر الاثبات) Then
Dim ContentStr As String = elem.GetAttribute(اسم القيمة المطلوبة)
MessageBox.Show(ContentStr)
End If
End If
Next
End If
- الكود:
If (Form1.WebBrowser1.Document IsNot Nothing) Then
Dim Elems As HtmlElementCollection
Dim WebOC As Windows.Forms.WebBrowser = Form1.WebBrowser1
Elems = WebOC.Document.GetElementsByTagName(Tag اسم)
For Each elem As HtmlElement In Elems
Dim NameStr As String = elem.GetAttribute(اسم عنصر الاثبات)
If ((NameStr IsNot Nothing) And (NameStr.Length <> 0)) Then
If NameStr.ToLower().Equals(محتوى عنصر الاثبات) Then
elem.SetAttribute(اسم المرسل اليه, النص المرسل)
End If
End If
Next
End If
- الكود:
If (Form1.WebBrowser1.Document IsNot Nothing) Then
Dim Elems As HtmlElementCollection
Dim WebOC As Windows.Forms.WebBrowser = Form1.WebBrowser1
Elems = WebOC.Document.GetElementsByTagName(Tag اسم)
For Each elem As HtmlElement In Elems
Dim NameStr As String = elem.GetAttribute(اسم عنصر الاثبات)
If ((NameStr IsNot Nothing) And (NameStr.Length <> 0)) Then
If NameStr.ToLower().Equals(محتوى عنصر الاثبات) Then
elem.InvokeMember("click")
End If
End If
Next
End If
ثالثا : All
الاستخراج
- الكود:
MsgBox(Form1.WebBrowser1.Document.All().Item(CInt(الرقم التسلسلي للعنصر او الاي دي)).InnerHtml)
الارسال
- الكود:
Form1.WebBrowser1.Document.All().Item(CInt(الرقم التسلسلي للعنصر او الاي دي)).InnerHtml = "النص"
الضغط
- الكود:
Form1.WebBrowser1.Document.All().Item(CInt(الرقم التسلسلي للعنصر او الاي دي)).InvokeMember("click")
CanGoBackChanged
[cod]
If WebBrowser1.CanGoBack Then 'ان كانت الاداة قادرة على الرجوع للخلف
Button1.Enabled = True ' تفعيل زر الرجوع للخلف
Else 'وان كانت غير قادرة
Button1.Enabled = False 'عدم تفعيل زر الرجوع للخلف
End If
CanGoForwardChanged
[/code]
- الكود:
If WebBrowser1.CanGoForward Then 'ان كانت الاداة قادرة على الانتقال الى الصفحة التالية
Button2.Enabled = True ' تفعيل زر الانتقال
Else 'وان كانت غير قادرة
Button2.Enabled = False 'عدم تفعيل زر الانتقال
End If
DocumentCompleted
- الكود:
TextBox1.Text = WebBrowser1.Url.ToString 'اظهار رابط الصفحة
Button3.Enabled = True 'تفعيل زر اعادة التحميل
Button4.Enabled = False 'الغاء تفعيل زر ايقاف تحميل الصفحة
DocumentTitleChanged
- الكود:
title.Text = "TiTle : " & WebBrowser1.DocumentTitle ' عنوان الصفحة
Navigating
- الكود:
Button3.Enabled = False 'الغاء تفعيل زر اعادة تحميل الصفحة
Button4.Enabled = True 'تفعيل زر ايقاف تحميل الصفحة
ProgressChanged
- الكود:
ToolStripProgressBar1.Maximum = e.MaximumProgress ' تساوي اعلى قيمة انتهاء
ToolStripProgressBar1.Value = e.CurrentProgress ' تساوي قيمة التحميل الحالية ToolStripProgressBar1 جعل القيمة الحالية لاداة
StatusTextChanged
- الكود:
ToolStripLabel1.Text = WebBrowser1.StatusText ' يساوي نص الحالة الخاصة
تم بحمد الله
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى