का उपयोग करके मैं java.awt.Robot साथ संयोजन के रूप में सेलेनियम WebDriver उपयोग कर रहा हूँ बेहतर हमारी वेब आवेदन के साथ उपयोगकर्ता बातचीत अनुकरण करने के लिए। हां, मुझे पता है कि यह शायद अनावश्यक है, लेकिन जिन ग्राहकों की मैं सेवा करता हूं, वे इसकी मांग करते हैं।सेलेनियम WebDriver और HTML विंडो स्थान जावा
वर्तमान में बातें बहुत अच्छी तरह से काम कर रहे हैं, फिर भी मुझे लगता है कि में एक छोटी सी रोड़ा है मैं स्क्रीन स्थिति पर वेब तत्व 'प्राप्त करने के लिए एक अच्छा तरीका खोजने के लिए प्रतीत नहीं कर सकते हैं। टाइटल बार, मेन्यू बार, नेविगेशन बार इत्यादि जैसी चीजें सभी सामग्री को भौतिक स्क्रीन पर दबाती हैं (जो रोबोट से इसके निर्देशांक प्राप्त करती है), लेकिन इस पर कोई प्रभाव नहीं पड़ता कि सेलेनियम तत्व की रिपोर्ट करता है।
जब मैं कॉल करता हूं: element.getLocation();
सेलेनियम वेबलेमेंट पर, यह हमेशा मुझे एचटीएमएल सामग्री रेंडर फलक के सापेक्ष अपना स्थान देता है, ब्राउज़र विंडो नहीं।
एक बेहतर उदाहरण है: driver.findElement(By.tagName("body")).getLocation();
हमेशा 0,0 देता है, खिड़की के वास्तविक परदे पर स्थान की परवाह किए बिना।
अभी मैं खिड़की को अधिकतम करने के बाद एक लंबवत और क्षैतिज ऑफसेट जोड़ कर हैकिंग कर रहा हूं, लेकिन ये विभिन्न ब्राउज़रों के बीच समान नहीं हैं (आईई की शीर्ष सजावट फ़ायरफ़ॉक्स के उदाहरण के लिए अधिक कमरे लेती हैं), और हो सकता है प्रत्येक उपयोगकर्ता के लिए अलग अगर वे उपकरण सलाखों, खोज बार, आदि में।
जोड़ा हाँ, मैं जानता हूँ कि मैं पूर्ण स्क्रीन मोड में चला सकते हैं, लेकिन मैं नहीं बल्कि नहीं था, अगर सब पर संभव बुकमार्क है।
वहाँ WebDriver उपयोग करने के लिए एक विश्वसनीय ढंग से तत्वों के भौतिक परदे पर स्थान पाने के लिए एक तरीका है?
सेलेनियम टीम में रुचि व्यक्त करने के लिए आपको इस मुद्दे को तारांकित करने में रुचि हो सकती है: https://code.google.com/p/selenium/issues/detail?id=5267 – kem