2010-11-23 21 views
20

के लिए वैकल्पिक मैं अब तक उपलब्ध हेडलेस ब्राउज़र के बारे में शोध कर रहा हूं और पाया गया है कि HtmlUnit का उपयोग काफी व्यापक रूप से किया जा रहा है। क्या हमारे पास HtmlUnit की तुलना में संभव लाभ के साथ HtmlUnit का कोई विकल्प है?HtmlUnit

धन्यवाद Nayn

उत्तर

3

मैं वास्तविक ब्राउज़र का उपयोग करने, अपने प्रयोग के मामले के लिए सेलेनियम का उपयोग करने के बाद से यह मुझे प्रदान करता जा रहा हूँ से कोई विचलन:

HtmlUnit पर चुनने के लिए मेरी कारणों में से एक की स्थापना में आसानी था HtmlUnit की तुलना में वास्तविक दुनिया में यह क्या प्रस्तुत करेगा। मैं सेलेनियम 2 का उपयोग करने की योजना बना रहा हूं जिसमें वेबड्राइवर एकीकरण है और महान एपीआई और कूल फिक्स प्रदान करता है। धन्यवाद नैन

+2

यही वह है जो मैं भी अनुशंसा करता हूं। एचटीएमएल्यून का जावास्क्रिप्ट इंजन वास्तविक दुनिया साइटों पर दुर्घटनाग्रस्त प्रतीत होता है। – Joel

+1

सेलेनियम ठीक है ... जब तक आप नहीं चाहते उदाहरण के लिए SmartGWT जावास्क्रिप्ट घटकों के साथ काम करें ... या जब तक कि आप इसे एक सतत एकीकरण वातावरण में उचित समय में तैनात नहीं करना चाहते ... या यदि आप एक परीक्षण धावक आदि के रूप में 500-CPU क्लस्टर के बिना तनाव परीक्षण चलाने के लिए चाहते हैं। –

+0

तो htmlunitdriver का विकल्प क्या है? Bcoz कई वेबों को जावास्क्रिप्ट को पूरी तरह से काम करने की आवश्यकता होती है ... :( – gumuruh

7

जहाँ तक मुझे पता है, HtmlUnit` सबसे शक्तिशाली नेतृत्वहीन ब्राउज़र है।

आप इसके साथ क्या समस्याएं हैं?

+3

मेरे लिए HtmlUnit की दो हत्यारा विशेषताएं हैं: 1. यह ओ/एस स्वतंत्र है 2. यह बैकएंड के रूप में "वास्तविक" ब्राउज़र का उपयोग नहीं करता है। नतीजतन शून्य-कॉन्फ़िगरेशन है और एप्लिकेशन परिनियोजन पर कोई आश्चर्य नहीं है। और यह बहुत अच्छी तरह से काम करता है। –

+0

HtmlUnit के साथ समस्याएं: http://sourceforge.net/tracker/?group_id=47038&atid=448266 – Nayn

+3

प्रमुख समस्या यह है कि यह कभी-कभी वास्तविक ब्राउज़र में यह देखने के तरीके से वेब पृष्ठों को अलग करता है। यह पृष्ठ/टैग संरचना को भी बदल देता है। इसके अलावा मैं जावास्क्रिप्ट को निष्पादित करना चाहता हूं जिसमें HtmlUnit – Nayn

4

वर्चुअल फ्रेमबफर वाला वेबड्राइवर एकमात्र वास्तविक विकल्प है। लाभ यह है कि यह एक असली ब्राउज़र का उपयोग करता है; नुकसान यह है कि यह स्थापित करने के लिए एक दर्द है, और एपीआई बहुत गरीब है।

+0

http: //coreygoldberg.blogspot। कॉम/2011/06/पायथन-हेडलेस-सेलेनियम-वेबड्राइवर.html –

2

मैं क्यूटी का अजगर बाइंडिंग के माध्यम से एक बिना सिर ब्राउज़र के रूप में वेबकिट उपयोग करते हैं,: http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qtwebkit.html

वेबकिट इंजन प्रस्तुत करना क्रोम और सफारी द्वारा प्रयोग किया जाता है, और बहुत लचीला है। और

sudo apt-get install python-qt4 
2

मैं सेलेनियम की भी सिफारिश करता हूं। बढ़िया विशेषता यह है कि आप एक क्लाइंट बना सकते हैं जो एक ब्राउज़र पेज खोलता है जिसे आप देख सकते हैं कि प्रत्येक चरण में क्या हो रहा है। इसके अलावा, स्वचालित परीक्षणों के लिए मैक्रोज़ बनाना एक और अच्छी सुविधा है। हालांकि, यदि आपको वेब पेज से कुछ जानकारी स्क्रैप करने की आवश्यकता है, तो HTML Unit सेलेनियम से बेहतर है।

+0

ने पहले से ही – Nayn

5

कई अन्य पुस्तकालय हैं जिनका आप उपयोग कर सकते हैं।

  • यदि आपको एक्सएमएल बेस डेटा का उपयोग JTidy स्क्रैप करने की आवश्यकता है।
  • यदि आपको HTML से विशिष्ट डेटा स्क्रैप करने की आवश्यकता है तो आप Jsoup का उपयोग कर सकते हैं।

अच्छी तरह से मैं jsoup का उपयोग करता हूं - यह किसी भी अन्य एपीआई की तुलना में काफी तेज है।

+3

का उपयोग किया है, लेकिन मुझे लगता है कि सी नहीं कर सकता AJAX अनुरोधों के आधार पर साइट को कच्चे करें। यदि यह तत्वों पर क्लिक करने और अन्य एचटीएमएल कोड को देखने और मूल्यांकन करने की प्रतीक्षा करने के बारे में है, तो आईएमएचओ यह एक विकल्प नहीं है। – frandevel