سؤال

أنا أتطلع إلى أتمتة بعض تفاعلات الويب ، وهي تنزيل الملفات الدورية من موقع ويب آمن. يتضمن هذا أساسًا إدخال اسم المستخدم/كلمة المرور والتنقل إلى عنوان URL المناسب.

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

ثم جربت htmlunit ، لكن هذا لا يبدو أنه يريد العمل أيضًا. أظن أن استخدام الفلاش هو المشكلة.

لا أريد حقًا التفكير في الأمر بعد الآن ، لذلك أنا أميل نحو البرمجة النصية للمتصفح الفعلي لتسجيل الدخول والاستيلاء على الملف الذي أحتاجه.

المتطلبات هي:

  • تشغيل على Linux Server (أي إذا كنت بحاجة حقًا إلى الحصول على XI ، فيمكن أن يحدث ذلك ، لكنني لن أكون سعيدًا.
  • يمكن الاعتماد عليها. أريد أن أبدأ هذا الشيء ولا أفكر في الأمر مرة أخرى.
  • كن قابلاً للنص. لا شيء متطور للغاية ، لكن يجب أن أكون قادرًا على إخبار المتصفح بالخطوات المختلفة التي يجب اتخاذها والصفحات لزيارتها.

هل هناك أي مجموعات أدوات جيدة لمتصفح Scripters بدون مقطوعة الرأس؟ هل جربت شيئًا كهذا ، وإذا كان الأمر كذلك ، فهل لديك أي كلمات من الحكمة؟

هل كانت مفيدة؟

المحلول

لقد قمت بمهمة ذات صلة مع المستعرض المضمّن IE (على الرغم من أنه كان تطبيق واجهة المستخدم الرسومية مع لوحة مكونات متصفح مخفية). في الواقع يمكنك أن تأخذ أي تخطيط محرك وقطع المنطق الإخراج. يجب أن يتم التنقل من خلال إطلاق الأحداث الشبيهة بالسيناريو.

يمكنك استخدام كروز. إنه نسخة مقطوعة الرأس من Firefox (محرك Gecko). إنه يحول المتصفح إلى خادم مريح يمكنه قبول الطلبات ("جلب عنوان URL"). لذلك فهي تحليل HTML ، تمثلها كدوم ، انتظر التأخير المحدد لجميع البرنامج النصي الذي تم تنفيذه.

إنه يعمل على Linux. أفترض أنه يمكنك تمديده بسهولة لتحقيق هدفك باستخدام قدرات JS و Rich Xulrunner.

نصائح أخرى

ماذا عن phantomjs?

هل جربت السيلينيوم؟ سيسمح لك بتسجيل سيناريو الاستخدام ، باستخدام امتداد لـ Firefox ، والذي يمكن لعبه لاحقًا باستخدام عدد من الطرق المختلفة.

تحرير: لقد أدركت للتو أن هذا كان استجابة متأخرة للغاية. قون

القي نظرة على WebKitdriver. يتضمن المشروع تطبيق WebKit بدون مقطوعة الرأس.

لا أعرف كيفية القيام بتفاعلات الفلاش (وأنا مهتم أيضًا) ، ولكن بالنسبة لـ HTML/JavaScript يمكنك استخدامها قدم الدجاج.

وللحصول على متصفح قابلة للبرنامج مقطوع الرأس + يعمل على Linux ، يمكنك استخدام مكتبة QT WebKit. هنا استخدام مثال.

لإنجاز هذا ، أكتب ملحقات الكروم التي تنشر إلى couchdbs (مثال و فوتون). أضف الأريكة إلى الأذونات في البيان للسماح بـ XHRs عبر المجال.

(وصلت إلى هذا الموضوع بحثًا عن بديل مقطوع الرأس لما كنت أفعله ؛ بعد أن وجدت هذا الموضوع ، سأحاول Crowbar في مرحلة ما.)

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top