اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

شرح أداة WebBrowser


الردود الموصى بها

بسم الله الرحمان الرحيم و الصلاة و السلام على أشرف المرسلين أما بعد:

سوف نقوم اليوم إن شاء الله بشرح أداة  WebBrowser وأهم ما يتعلق بها من أوامر و أحداث و خصائص و إدخال و إخراج. و سوف يتم تقسيم هذا العمل إلى مجموعة حلقات نبدأ من الصفر حتى آخر نقطة نستطيع الوصول إليها إن شاء الله مع وضع مثال تطبيقي لكل حلقة.

مقدمة:
WebBrowser  هي أداة تعمل عمل أي متصفح و هي مقترنة المتصفح الشهير Internet Explorer  فهي تساعدك في تصفح المواقع من ناحية و التحكم في أكواد HTML وكل ما يرتبط بها من إدخال و استخراج بيانات من ناحية أخرى.

ملاحظة: لتشغيل هذه الأداة بشكل جيد يجب تحديث المتصفح الشهير Internet Explorer  إلى الإصدار 10 أو 11. مع العلم أن ونداوز 10 به الإصدار 11

الحلقة الأولى: أكواد التصفح

سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من التصفح و التنقل داخل الأداة.

1- كود فتح صفحة موقع: WebBrowser3 هو اسم الأداة داخل النموذج

Me.WebBrowser3.Navigate ("رابط الصفحة كامل")

2- كود فتح صفحة فارغة:

Me.WebBrowser3.Navigate ("about:blank")

3- كود الرجوع للصفحة السابقة:

Me.WebBrowser3.GoBack

4- كود الإنتقال للصفحة التالية:

Me.WebBrowser3.GoForward

5- كود إعادة تحميل الصفحة:

Me.WebBrowser3.Refresh

6- كود إيقاف تحميل الصفحة:

Me.WebBrowser3.Stop

7- كود إستخراج رابط الصفحة الحالية:

MsgBox Me.WebBrowser3.Document.url

و هذا مثال لما تم ذكره في هذه الحلقة

webbroser.rar

  • Like 10
  • Thanks 5
رابط هذا التعليق
شارك

  • الردود 62
  • Created
  • اخر رد

Top Posters In This Topic

الحلقة الثانية: أكواد الطباعة و الخصائص و...

سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من طباعة صفحة الويب و حفظها و عرض خصائص الصفحة و غيرها...

1- كود طباعة الصفحة: 

Me.WebBrowser3.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT

2- كود معاينة طباعة الصفحة: 

Me.WebBrowser3.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT

3- كود عرض خصائص الصفحة: 

Me.WebBrowser3.ExecWB OLECMDID_PROPERTIES, OLECMDEXECOPT_DODEFAULT

4- كود حفظ صفحة الويب: 

Me.WebBrowser3.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT

5- كود تنسيق الصفحة: 

Me.WebBrowser3.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT

6- كود عنوان رابط الصفحة: 

MsgBox Me.WebBrowser3.LocationName

7- كود رابط الصفحة

MsgBox Me.WebBrowser3.LocationURL

8- كود فتح الصفحة الإفتراضية للمتصفح

Me.WebBrowser3.GoHome

9- كود فتح صفحة البحث

Me.WebBrowser3.GoSearch

10- كود فتح صندوق التصفح هذا الكود يقوم بفتح صندوق لإدخال رابط صفحة ويب جديدة

 Me.WebBrowser3.ExecWB OLECMDID_OPEN, OLECMDEXECOPT_DODEFAULT

11- كود تخطي رسائل الأخطاء التي تظهر من الأداة عند التصفح

Me.WebBrowser3.Silent = True

وهذا المرفق بعد الإضافات الجديدة

66.jpg.c8326eed1e9fd18ee4765d260313ccfc.jpg

webbroser.rar

  • Like 10
  • Thanks 4
رابط هذا التعليق
شارك

وفيكم بارك الله إخوتي الأعزاء

نعم أستاذنا و هذا سبب إضافتي لهذا الموضوع لقد تفقدت العديد من المواقع لكن المعلومات فيها شحيحة عن هذه الأداة فقررت وضع موضوع شامل عنها بإذن الله.

بإذن الله سوف يزول الغموض بعد الإنتهاء من هذا الموضوع. كما لا أخفي عليك أن موضوعك مسقط التصفح فتح الباب أمامي للتعمق أكثر مع هذه الأداة

لقد ذكرت في الحلقة الأولى و الثانية الدوال التي تتعامل مع الأداة مباشرة و أنا الآن أقوم بتحضير الدوال التي تتعامل مع كائنات HTML داخل الصفحة

جهز حالك راح نغوص مع بعض في الأكواد الداخلية

  • Like 1
رابط هذا التعليق
شارك

الحلقة الثالثة: التعامل مع كائنات صفحات HTML و إرسال و إستقبال البيانات

سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من التعامل مع كائنات صفحات الويب و إرسال و إستقبال البيانات منها و إليها.

هنالك ثلاث كائنات سوف نتعامل معها فيما يخص إرسال و إستقبال البيانات و هي مربع نص و القائمة المنسدلة و الجداول لأن لكل كائن أكواده الخاصة.

لكن قبل البدئ يجب التطرق إلى كيفية إستخراج الاسم المميز للعناصر ID أو NAME من أجل التعامل معها من خلال نموذج الأكسس.

هناك عناصر لها ID و أخرى لها NAME و هناك  لها الخاصيتين معا و هناك عناصر ليس لها NAME أو ID 

خطوات استخراج ID أو NAME موجود في هذه الصور:

1.jpg.bcf84a44ae50120ae5414ac0ad6ded49.jpg

2.jpg.e2ec38502c76a4209b959b50ef024b1b.jpg

1- كود إرسال قيمة لمربع نص في صفحة ويب:  في هذا المثال سوف نستخدم صفحة غوغل و نقوم بإرسال كلمة أوفيسنا إلى من مربع بحث غوغل

Me.WebBrowser3.Document.all("q").Value = "أوفيسنا"
أو 
Me.WebBrowser3.Document.all("q").innerText = "أوفيسنا"
أو
Me.WebBrowser3.Document.Forms(0).q.Value = "أوفيسنا"
أو
Me.WebBrowser3.Document.getElementById("q").innerText = "أوفيسنا"

Document : هي كل محتويات الأداة الموجوة في صفحة الويب من أزرار و مربعات و نصوص ......

2- كود إستقبال قيمة من مربع نص في صفحة ويب: سوف نقوم باستخراج القيمة المكتوبة في مربع نص البحث لموقع غوغل

MsgBox Me.WebBrowser3.Document.all("q").Value 
أو 
MsgBox Me.WebBrowser3.Document.all("q").innerText 
أو
MsgBox Me.WebBrowser3.Document.Forms(0).q.Value 
أو
MsgBox Me.WebBrowser3.Document.getElementById("q").innerText 

3- كود الضغط على زر أمر:  سوف نقوم بإرسال نقرة على زر فتح شاشة الدخول لجمايل

Me.WebBrowser3.Document.Forms(0).gb_70.Click
أو
Me.WebBrowser3.Document.all("gb_70").Click
أو
Me.WebBrowser3.Document.getElementById("gb_70").InvokeMember ("Click")

 

webbroser.rar

2 ساعات مضت, adelfaisl said:

شكرا استاذ صالح على هذا الشرح وطريقة كتابة الاكواد  اذا سمحت  ممكن طريقة لتنزيل البيانات من الموقع مباشرتا وشكرا

ماذا تقصد بتنزيل البيانات ؟

هل استخراج قيم أم تنزيل ملفات

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

منذ ساعه, ابو البشر said:

ظهرت لي هذه الرسالة أخي @صالح حمادي

أين ظهر لك هذا الخطأ و ما هو نوع الونداوز و الأوفيس لديك

رابط هذا التعليق
شارك

6 دقائق مضت, صالح حمادي said:

أين ظهر لك هذا الخطأ و ما هو نوع الونداوز و الأوفيس لديك

 

بارك الله فيك استاذي الفاضل

ظهرت في بداية تشغيل البرنامج

الاوفيس 16 الويندوز 10

جزاك الله خيرا ....... بس بعد الضغط على موافق اشتغل عادي البرنامج ....

رابط هذا التعليق
شارك

الحلقة الرابعة: التعامل مع القائمة المنسدلة في صفحة ويب

سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من التحكم الكامل في القائمة المنسدلة داخل الأداة في صفحة ويب

لقد قمت بتطبيق هذا الدرس على موقع الفايس بوك لأن به قائمة منسدلة الخاصة بالأشهر و لها خاصية: Id=month

لهذه القائمة عمودين عمود مخفي و هو يمثل القيمة الحقيقة به أرقام من 0 إلى 12 و عمود ظاهر به أسماء الأشهر

1- كود حساب عدد عناصر القائمة

MsgBox Me.WebBrowser3.Document.getElementById("month").Length

2- كود معرفة القيمة الحقيقية للعنصر من المعلوم أن القائمة المنسدلة يمكن أن يكون بها أكثر من عمود يعني ممكن تصبح القيمة الظاهرة تختلف عن القيمة الحقيقية

MsgBox Me.WebBrowser3.Document.getElementById("month").Value

3- كود استخراج ترتيب القيمة الظاهرة: استخراج ترتيب القيمة الظاهر ضمن عناصر القائمة المنسدلة

MsgBox Me.WebBrowser3.Document.getElementById("month").selectedIndex

4- كود استخراج القيمة الظاهرة:

MsgBox Me.WebBrowser3.Document.getElementById("month").Item(Me.WebBrowser3.Document.getElementById("month").selectedIndex).innerText

5- إظهار جميع عناصر القائمة:

Dim x As String
Dim i As Integer
For i = 1 To Me.WebBrowser3.Document.getElementById("month").Length
    x = x & " - " & Me.WebBrowser3.Document.getElementById("month").Item(i - 1).innerText
Next i
MsgBox x

6- اختيار عنصر من القائمة باستخدام رقمه الترتيبي: هنا وضعت القيمة تساوي 5 معناه سوف يتم اختيار العنصر رقم 5 و هو مايو

Me.WebBrowser3.Document.getElementById("month").selectedIndex = 5

7- تغيير نص قيمة في العمود الظاهر من القائمة: سوف يتم تغيير كتابة أفريل في القائمة إلى أوفيسنا

Me.WebBrowser3.Document.getElementById("month").Item(4).innerText = "أوفيسنا"

8-تغيير قيمة في العمود المخفي من القائمة:

Me.WebBrowser3.Document.getElementById("month").Item(4).Value = "15"

قبل البداية في تطبيق درس اليوم اضغط على زر فتح صفحة الفايس بوك لتظهر الصفحة أمامك

88.jpg.45767e7855489e16bfed0f13818e0ba4.jpg

webbroser.rar

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

19 ساعات مضت, صالح حمادي said:

ماذا تقصد بتنزيل البيانات ؟

هل استخراج قيم أم تنزيل ملفاتحة

السلام عليكم اخي صالح عندي موقع انترنت (صفحة ادارة للمشتركين الانترنت) البيانات هي بيانات شخصية لكل مشترك

رابط هذا التعليق
شارك

بارك الله فيك أستاذنا الغالي @صالح حمادي

موضوع شيق ومميز 

دائما تتألق بكل جديد

وفقك الله لكل خير

 

نرجو من أساتذتنا حذف الاقتباسات الطويلة لانها تشتت القارء .. ولاننا نقوم بحفظ الصفحة بصيغة pdf لارشفتها لدينا للرجوع لها فيما بعد

تم تعديل بواسطه qathi
رابط هذا التعليق
شارك

6 ساعات مضت, adelfaisl said:

السلام عليكم اخي صالح عندي موقع انترنت (صفحة ادارة للمشتركين الانترنت) البيانات هي بيانات شخصية لكل مشترك

نعم أخي نستطيع تنزيل البيانات لكن يجب عليك وضع صورة لصفحتك لكي نحدد الطريقة المناسبة

 

6 ساعات مضت, qathi said:

بارك الله فيك أستاذنا الغالي @صالح حمادي

و فيك بارك الله أخي قاضي

رابط هذا التعليق
شارك

14 ساعات مضت, صالح حمادي said:

نعم أخي نستطيع تنزيل البيانات لكن يجب عليك وضع صورة لصفحتك لكي نحدد الطريقة المناسبة

أخي @صالح حمادي بارك الله فيك وفي جهدك وكتب الله أجرك

صفحة الانترنت المرفقة هل يمكن سحب الاسم  والرقم الى جدول في الاكسس .... كيف يمكن ذلك؟؟

أشكرك أستاذ. صالح على طرح هذا الموضوع المميز والمفيد .....

Desktop.rar

  • Like 1
رابط هذا التعليق
شارك

7 ساعات مضت, ابو البشر said:

صفحة الانترنت المرفقة هل يمكن سحب الاسم  والرقم الى جدول في الاكسس .... كيف يمكن ذلك؟؟

ههههه الله يحفظك يا ابو البشر

لقد وضعت يدك على الجرح تماما

هذا هو بيت القصيد و الهدف الأسمى من هذه الدروس

نستطيع إدخال و إستخراج العلامات من هذه الصفحة و كذلك نستطيع نسخ الأرقام و الأسماء إلى جدول أكسس أو أكسل كما نريد

بالأمس كنت أبحث عن صفحة ويب مناسبة كي أضع عليها مثال  للدرس القادم الخاص بالتعامل مع الجداول. يعني وضعت المرفق في وقته راح أوظف هذا المرفق في الدرس القادم إن شاء الله تستفيد منه أنت و نستفيد كلنا بإذن الله.

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

الحلقة الخامسة: التعامل مع الجداول في صفحة ويب

سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من التحكم في الجداول داخل صفحة ويب

و سوف نستخدم مرفق أخي ابو البشر في هذا الدرس و هي عبارة عن صفحة ويب محفوظة

خاصية id للجدول اسمها: ctl00_PlaceHolderMain_gvCourseSectionExamsGrades

عند فتح المرفق يجب تحديد صفحة الويب المرفقة كمصدر للأداة و ذلك بإتباع الخطوات التالية:

22.jpg.05ad2fd915c4ec6b65e6096087685f18.jpg

 

1- كود استخراج عدد الخلايا في الجدول

MsgBox Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").cells.Length

2- كود استخراج عدد الصفوف في الجدول

MsgBox Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").rows.Length

3- كود استخراج بيانات العمود الأول في الجدول في هذا الكود نقوم بعرض الأرقام الموجودة في العمود الأول

For i = 2 To Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").rows.Length
    MsgBox Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").rows(i - 1).cells(0).innerText
Next i

4- كود استخراج بيانات العمود الثاني في الجدول في هذا الكود نقوم بعرض الأسماء الموجودة في العمود الثاني

For i = 2 To Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").rows.Length
    MsgBox Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").rows(i - 1).cells(1).innerText
Next i

5- كود ارسال بيانات إلى الجدول في هذا الكود سوف نرسل بيانات للعمود الرابع الخاص بمادة البحوث و المشروعات

For i = 2 To Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").rows.Length
    Me.WebBrowser3.Document.getElementById("ctl00_PlaceHolderMain_gvCourseSectionExamsGrades").rows(i - 1).cells(3).innerText = i - 1
Next i

33.jpg.68582f1808a2006a32668718200dafc0.jpg

و هذا هو المرفق به جميع الدوال.

 

webbroser.rar

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information