الإعلانات
مفتاح الأتمتة هو القيام بالأشياء بشكل أسرع وأسهل مما فعلت من قبل. إذن ما الذي يستغرق وقتًا طويلاً للقيام به؟ ما هو جزء من عبء العمل الذي تريد أتمتة؟
عندما يتعلق الأمر بالإنتاجية ، فإن Excel هو الأداة الأكثر شيوعًا التي يستخدمها الأشخاص لأشياء مثل تنظيم الموارد المالية ، إدارة المشاريعو تحديد أولويات الأهداف. الأسبوع الماضي ، وصفت كيف أتمتة IE عن طريق إعداد مجموعات من عناوين URL في أوراق Excel ، ثم استخدام كائن IE في Windows لأتمتة تشغيل مجموعات عناوين URL مباشرة من داخل Excel.
بعد هذه المقالة ، سأل العديد من القراء كيفية القيام بنفس الشيء في Firefox أو Chrome. نظرًا لأنه لا يوجد في Firefox ولا Chrome عنصر مشابه مدرج في Windows يمكن استخدامه لأتمتة VBA ، فإن تنفيذ نفس الإجراءات على تلك المتصفحات الأخرى يتطلب خطوة إضافية. هذه الخطوة هي تثبيت السيلينيوم فبا - مجمع Windows COM لـ Selenium.
يسمح لك بإجراء مكالمات من أي تطبيق يدعم VBA من أجل فتح متصفح - وليس IE فقط - والتحكم في جلسة المتصفح تلك. إنها أداة أتمتة قوية يتم استخدامها بشكل شائع لدرجة أن العديد من موردي المتصفح المشهورين يقومون بدمج Selenium كجزء أصلي من متصفحهم. من المؤكد أنه سيتم دعم استخدامه في تطبيقات الأتمتة الخاصة بك لسنوات قادمة.
أتمتة Firefox و Chrome باستخدام السيلينيوم
قبل البدء في هذا المشروع ، ستحتاج إلى تنزيل وتثبيت المجمع Selenium VBA. ثم ، كما ناقشت في المقالة أتمتة IE، لكتابة أي VBA في Excel ، تحتاج إلى الدخول في وضع التصميم وعرض التعليمات البرمجية. إذا لم تكن قد فعلت ذلك من قبل ، فما عليك سوى الانتقال إلى عنصر قائمة "المطور" والنقر على وضع التصميم. انقر فوق الزر "إدراج" ، وانقر فوق الزر ActiveX وارسمه على الورقة الخاصة بك في مكان ما. بمجرد الانتهاء من ذلك ، انقر فوق الزر ثم انقر فوق "عرض الرمز".
في نافذة محرر الشفرة ، في أسفل اليمين ، تأكد من تغيير "الاسم" و "التسمية التوضيحية" لتعكس الغرض من الزر. في هذه الحالة ، سيكون الزر لفتح قائمة عناوين URL التي أدرجتها في جدول البيانات. في حالتي ، دعوتها cmdLoadURLs ، وجعلت التسمية التوضيحية "تحميل عناوين URL" (هذا ما يظهر على الزر).
بعد ذلك ، تحتاج إلى تمكين Selenium Wrapper بالنقر فوق القائمة أدوات ، ثم انقر فوق "المراجع" ، ثم استعرض لأسفل إلى المرجع المسمى "مكتبة النوع SeleniumWrapper". حدد مربع المرجع هذا ثم انقر فوق موافق.
أنت الآن جاهز لبدء كتابة رمز أتمتة المتصفح باستخدام Selenium Wrapper!
وظائف غلاف السيلينيوم
يمنحك غلاف Selenium VBA وظائف أكثر بكثير مما سأتمكن من إظهاره في هذه المقالة. يمكنك أن ترى مقدار ما هو متاح فقط وراء WebDriver ، من خلال تعريف كائن السيلينيوم بأنه "New SeleniumWrapper". عند كتابة الفترة ، ستسقط جميع عناصر أنواع الكائنات التي يمكنك التحكم فيها ، مثل صور المتصفح وملفات PDF ومفاتيح لوحة المفاتيح والمزيد.
سيستخدم رمز المثال هذا WebDriver. بمجرد استخدام كائن Selenium WebDriver في التعليمات البرمجية وكتابة الفترة ، فسوف تسقط قائمة طويلة جدًا من الطرق والخصائص التي يمكنك استخدامها لأتمتة متصفح الويب.
قد يستغرق الأمر بعض الوقت لتعلم كل ما هو متاح ، ولكن يمكن أن تقدم Google بعض الأمثلة الجيدة ، خلف العينات المتاحة في صفحة كود جوجل. لسوء الحظ ، على حد علمي ، لا يوجد دليل مباشر لاستخدام السيلينيوم ، لكني سأكون ممتنًا لأي قراء يمكنهم تقديم أي موارد!
كتابة كود VBA السيلينيوم الخاص بك
في هذا المثال ، كما هو الحال في مقالة IE ، قمت بإنشاء قائمة بعناوين URL التي أريد فتحها في Firefox تلقائيًا. ثم قمت بإنشاء الزر كما هو موضح في الجزء الأول من هذه المقالة.
الرمز الموجود خلف الزر بسيط ، لكنني سأشرح ما يفعله كل قسم. أولاً ، تحتاج إلى تشغيل تطبيق Firefox. ستقوم طريقة "selenium.start" بذلك. إن طريقتين setTimeout و setImplicitWait ليستا مهمتين ، ولكنها يمكن أن تمنع تطبيقك من الإغلاق إلى الأبد إذا لم يستجب المتصفح لسبب ما.
السيلينيوم خافت مثل السيلينيوم الجديد. WebDriver. تعتيم FF ككائن. خافت intRowPosition كعدد صحيح. مفاتيح خافتة مثل السيلينيوم الجديد. بدء "فايرفوكس" ، https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. السيلينيوم. افتح Sheet1.Range ("A" & intRowPosition)
يعيّن الأسطران الأخيران صف بيانات Excel للقراءة (الصف الثاني ، حيث يتم تخزين عنوان URL الأول في جدول البيانات) ، ثم تنفيذ طريقة "selenium.open" لقراءة عنوان URL من جدول البيانات هذا ، وفتحه في ثعلب النار.
يقوم القسم التالي من التعليمات البرمجية بزيادة مؤشر الصف ويقرأ عنوان URL التالي في القائمة. إذا لم تكن الخلية فارغة ، فستستخدم بعد ذلك طريقة SendKeys لبدء علامة تبويب جديدة في Firefox ، وقراءة عنوان URL التالي من ذلك البيع ، وفتح عنوان URL في علامة التبويب الجديدة.
intRowPosition = intRowPosition + 1 بينما Sheet1.Range ("A" & intRowPosition) <> vbNullString selenium. مفاتيح SendKeys. التحكم والسيلينيوم "t". افتح Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = لا شيء
سينتقل النص البرمجي عبر قائمتك بالكامل حتى يتم فتح جميع عناوين URL في علامات التبويب الخاصة بها. إليك المتصفح بعد مرور الحلقة مرة ثانية وفتح MUO في علامة تبويب جديدة.
إذا كنت ترغب في استخدام هذا الرمز لمتصفح Chrome ، فكل ما عليك فعله هو تغيير خط "السيلينيوم. ابدأ "فايرفوكس" إلى "الكروم" بدلاً من ذلك.
الآن إنشاء البرنامج النصي الخاص بك
كما ذكرت أعلاه ، فإن أفضل طريقة لتعلم قوة غلاف السيلينيوم هي كتابة "السيلينيوم" في الكود الخاص بك ، اضغط على الفترة وتصفح القائمة الطويلة جدًا من الخصائص المتاحة و طرق. على سبيل المثال ، يمكنك استخدام خاصية .URL للحصول على عنوان URL لعلامة التبويب المفتوحة حاليًا في Firefox أو Chrome.
كما ترى ، هناك العديد من الأشياء التي يمكنك القيام بها تتجاوز نطاق هذه المقالة. لكن جرب واستمتع ببعض. لحسن الحظ ، ستظهر معظم الوظائف نص تعليمات منبثق يوضح لك المعلمات التي تتوقعها كل وظيفة. يمكن أن يساعد ذلك كثيرًا عندما يتعلق الأمر باكتشاف كيفية استخدامه.
بالنسبة لك مشروع البرمجة النصية التالي ، ماذا عن إنشاء تطبيق بسيط خاص بك مع VBA كيف يمكنك إنشاء تطبيق بسيط خاص بك مع VBAهل تريد أن تعرف كيف تصنع تطبيق VBA الخاص بك لحل المشاكل؟ استخدم هذه النصائح لبناء برنامج VBA الخاص بك. قراءة المزيد ?
ريان حاصل على درجة البكالوريوس في الهندسة الكهربائية. لقد عمل 13 عامًا في هندسة الأتمتة ، و 5 سنوات في مجال تكنولوجيا المعلومات ، وهو الآن مهندس تطبيقات. محرر إداري سابق لـ MakeUseOf ، وقد تحدث في المؤتمرات الوطنية حول تصور البيانات وقد ظهر في التلفزيون والإذاعة الوطنية.