ما هو أداة جيدة على الشاشة-كشط مع جافا سكريبت الدعم ؟ [مغلقة]

StackOverflow https://stackoverflow.com/questions/125177

  •  02-07-2019
  •  | 
  •  

سؤال

هل هناك اختبار جيد جناح أو مجموعة أداة التي يمكن أتمتة التنقل في الموقع مع دعم جافا سكريبت -- وجمع HTML من الصفحات ؟

بالطبع لا يمكن أن تتخلص مباشرة HTML مع BeautifulSoup.ولكن هذا ليس جيد بالنسبة للمواقع التي تتطلب جافا سكريبت.:)

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

المحلول

هل يمكن استخدام السيلينيوم أو Watir قيادة حقيقية المتصفح.

هناك أيضا بعض جافا سكريبت على أساس مقطوعة الرأس المتصفحات:

  • PhantomJS هو رجل بلا رأس متصفح بكت.
    • pjscrape هو تجريف الإطار على أساس PhantomJS و مسج.
    • CasperJS هو الملاحة البرمجة واختبار أداة bsaed على PhantomJS, إذا كنت بحاجة إلى أن تفعل أكثر من نقطة في عناوين url إلى كشط.
  • غيبوبة بالنسبة Node.js

شخصيا, أنا أكثر دراية مع السيلينيوم ، الذي دعم أتمتة الكتابة النصية في عدد كبير من languagues و أكثر نضجا الأدوات مثل ممتاز السيلينيوم IDE التمديد فايرفوكس ، والتي يمكن استخدامها لكتابة وتشغيل testcases ، ويمكن تصدير اختبار البرامج النصية للعديد من اللغات.

نصائح أخرى

باستخدام HtmlUnit هو أيضا إمكانية.

HtmlUnit هو "واجهة المستخدم الرسومية أقل المتصفح برامج جافا".انها نماذج HTML الوثائق يوفر API التي يسمح لك أن تحتج صفحات ملء أشكال انقر فوق الارتباطات ، الخ...تماما مثل هل "طبيعية" المتصفح.

فقد جيدة إلى حد ما دعم جافا سكريبت (الذي هو في تحسن مستمر) ، قادرة على العمل حتى مع معقدة جدا اياكس المكتبات ، محاكاة إما فايرفوكس أو إنترنت إكسبلورر اعتمادا على تكوين تريد استخدامها.

وعادة ما يتم استخدامه لاختبار أغراض أو استرداد المعلومات من المواقع على شبكة الإنترنت.

السيلينيوم الآن يلتف htmlunit لذلك أنت لا تحتاج إلى بدء تشغيل المتصفح بعد الآن.الجديد WebDriver api من السهل جدا للاستخدام أيضا. المثال الأول استخدام htmlunit سائق

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

عادة إذا كنت تحليل خاص جافا سكريبت تستخدم في الملاحة القائمة, فمن السهل أن استخدام التعابير العادية لسحب مجموعة كاملة من المتغيرات التي يتم استخدامها لبناء navmenu.أنا لم تستخدم شوربة جميلة لكن من وصفك يبدو أنها قد تعمل فقط على عناصر HTML و لا تكون قادرة على العمل داخل علامات البرنامج النصي.

إذا كنت لا تزال تواجه مشاكل أو تحتاج إلى محاكاة شكل من الوظائف أو اياكس, الحصول على فايرفوكس تثبيت LiveHttpHeaders البرنامج المساعد.هذا البرنامج المساعد يسمح لك يدويا تصفح الموقع والقبض على عناوين url التي أبحر جنبا إلى جنب مع أي ملفات تعريف الارتباط التي يتم تمريرها من خلال الدليل الخاص بك التصفح.هذا هو ما تحتاج scraperbot إرسال طلب للحصول على استجابة صحيحة من الهدف webserver(s).هذا سوف أيضا التقاط أي المكالمات اياكس و في كثير من الحالات نفس المكالمات اياكس يجب أن يكون implementated في مكشطة على الاستجابات المطلوبة.

Mozenda هو أداة عظيمة لاستخدام كذلك.

يمكنك محاولة مفتوحة المصدر الشاشة مكشطة من كشط.ذلك

تحديث:اعتبارا من نيسان / أبريل 4th, 2013 كشط.فإنه الشاشة مكشطة هو المصدر المفتوح على جيثب.

نضع في اعتبارنا أن جافا سكريبت fanciness يعبث مع بروير الداخلية دوم نموذج من الصفحة, و لا يفعل شيئا إلى HTML الخام.

لقد تم استخدام السيلينيوم مع هذا تجد أنه يعمل كبيرة.السيلينيوم يعمل في متصفح سوف تعمل مع فيرفكس ، بكت ، و أي.http://selenium.openqa.org/

@insin Watir ليس أي فقط.

https://stackoverflow.com/questions/81566#83387

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