तो मेरे सेलेनियम रिग्रेशन परीक्षणों के भीतर, मैं एक नया एपेट करने के लिए कैलेंडर पर डबल क्लिक करने का प्रयास कर रहा हूं। मैंने डबलक्लिक() का उपयोग करने का प्रयास किया है; उन्नतuserinteractions पुस्तकालय के भीतर विधि, लेकिन एक मुद्दा है; दो क्लिक एक वास्तविक डबल-क्लिक को आग लगाने के लिए पर्याप्त तेज़/पर्याप्त रूप से पर्याप्त नहीं हैं! क्या किसी को उनके परीक्षण में इससे निपटने का कोई तरीका मिला है?सेलेनियम 2.0 वेबड्राइवर एडवांस्ड इंटरैक्शन डबलक्लिक सहायता (सी #)
उत्तर
यह कोड मेरे लिए काम करता है!
Actions action = new Actions(driver);
action.doubleClick(myElemment);
action.perform();
मैंने कोशिश की है, लेकिन क्रियाएं डबलक्लिक() विधि दोनों क्लिकों को दो कारणों से डबल क्लिक के रूप में पंजीकृत करने के लिए पर्याप्त तेज़ नहीं करती है .. – spacebed
ठीक है, मैंने सेलेनियम के वर्तमान निर्माण में अपडेट किया है, और (कोई कोड परिवर्तन नहीं हुआ है) यह अब तेजी से फायर फायर हाहा। हालांकि मैं इसे समाधान के रूप में चिह्नित करूंगा, क्योंकि मुझे लगता है कि क्रियाएं ड्राइवर जाने का सबसे सरल/सबसे प्रभावी तरीका है। – spacebed
क्या आपने IWebElement को पकड़ने और फिर इसे दो बार क्लिक करने का प्रयास किया है?
IWebElement element = driver.FindElement(By.Id("yourID"));
element.Click();
element.Click();
मैं अगर यह आप desird कार्यक्षमता या नहीं देना होगा, लेकिन मुझे पता है कि जब मैं निष्पादित यह उपरोक्त के समान एक क्लिक करें घटना एक डबल क्लिक करें एक वास्तविक उपयोगकर्ता से हो उतना निकट चलाता है पता नहीं है।
अन्य विकल्प लेकिन इस का केवल नकारात्मक पक्ष यह है कि मुझे यकीन है कि यह वर्तमान IWebDriver
साथ अच्छी तरह से खेलता है मैं इसे की जरूरत है यह IWebDriver
की खुद इन्स्टेन्शियशन है लगता है नहीं कर रहा हूँ, संदर्भ के लिए ThoughtWorks.Selenium.Core
है।
अफसोस की बात यह काम नहीं करती है। मैंने उन्नत यूज़र इंटरैक्शन से पहले यह कोशिश की, लेकिन न तो वास्तव में डबल क्लिक करने लगते हैं। – spacebed
यहां जावा समतुल्य है। यह कोड अंधेरे से पहले कार्यक्रम को खोल देगा। आप एक विशिष्ट घटना आदि खोलने के लिए कुछ तर्क जोड़ सकते हैं। यह कोड काम करता है! (2.12 के साथ परीक्षण)
List<WebElement> events = driver.findElements(By.cssSelector("div.dv-appointment"));
for(WebElement event:events){
WebElement body = event.findElement(By.cssSelector("div.body"));
if(!body.getText().isEmpty()) //or open a known event
{
System.out.println(body.getText()); //open the first event
Actions builder = new Actions(driver);
Action doubleClick = builder.doubleClick(event)
.build();
doubleClick.perform();
break;
}
}
using OpenQA.Selenium;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Interactions.Internal;
using OpenQA.Selenium.Support.UI;
//create Actions object
Actions builder = new Actions(driver);
//create a chain of actions
builder.DoubleClick().Build().Perform();
http://selenium-interview-questions.blogspot.ru/2014/03/how-to-double-click-on-web-element.html
मैं भी समस्या जहां सेलेनियम के डबलक्लिक घटना फ़ायरफ़ॉक्स में काम करता है लेकिन क्रोम में कोई प्रभाव नहीं है था "का उपयोग" मत भूलना। सेलेनियम में अपग्रेड करने में मदद नहीं मिली; मेरे पास पहले से ही नवीनतम संस्करण है। (मेरा पर्यावरण उबंटू 14.04 है, पायथन 2.7.6, सेलेनियम 2.44.0, फ़ायरफ़ॉक्स 35.0, क्रोम 40.0.2214.91।)
मुझे यकीन नहीं है कि क्यों सीबीआरआरसर का जवाब डाउनवॉट किया गया था। मैंने दो क्लिक घटनाओं का उपयोग कर समस्या के चारों ओर सफलतापूर्वक काम किया। यह फ़ायरफ़ॉक्स और क्रोम दोनों में काम करता है। इसके दो तरीके हैं, और दोनों मेरे लिए काम करते हैं।
पहला तरीका:
elem = driver.find_element_by_css_selector('#myElement')
elem.click()
elem.click()
दूसरा तरीका:
elem = driver.find_element_by_css_selector('#myElement')
actions = webdriver.ActionChains(driver)
actions.click(elem).click(elem).perform()
मैं काफी यहां इस्तेमाल किया, कार्यों पहले, प्रदर्शन, विशेष रूप से कतार तब से है कि बार-बार आवेदन की अनुमति देता है दृष्टिकोण की तरह actionchain।
प्रलेखन उदाहरण जुड़ा हुआ से:
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()
- 1. सेलेनियम वेबड्राइवर - सी #
- 2. मेरे सी # सेलेनियम वेबड्राइवर कोड
- 3. सेलेनियम वेबड्राइवर
- 4. सेलेनियम वेबड्राइवर
- 5. सेलेनियम-वेबड्राइवर
- 6. सेलेनियम वेबड्राइवर
- 7. सेलेनियम वेबड्राइवर
- 8. सेलेनियम वेबड्राइवर
- 9. सेलेनियम वेबड्राइवर
- 10. सेलेनियम वेबड्राइवर
- 11. सेलेनियम वेबड्राइवर
- 12. सेलेनियम वेबड्राइवर
- 13. सेलेनियम वेबड्राइवर
- 14. सेलेनियम वेबड्राइवर
- 15. सेलेनियम 2.0 वेबड्राइवर के लिए एक कामकाज और: होवर स्यूडोक्लस
- 16. सेलेनियम वेबड्राइवर: फ़ायरफ़ॉक्स exe
- 17. वेबड्राइवर (सेलेनियम 2.0) के साथ व्यक्तिगत एसएसएल प्रमाणपत्रों का उपयोग
- 18. सी # सेलेनियम वेबड्राइवर फ़ायरफ़ॉक्स प्रोफाइल - प्रमाणीकरण
- 19. सेलेनियम सी # वेबड्राइवर FindElements (By.LinkText) RegEx?
- 20. सेलेनियम वेबड्राइवर एनएच तत्व
- 21. सेलेनियम पायथन वेबड्राइवर
- 22. रूबी सेलेनियम वेबड्राइवर
- 23. सेलेनियम वेबड्राइवर पृष्ठ लोड
- 24. जीडीआई + सेलेनियम वेबड्राइवर
- 25. सेलेनियम वेबड्राइवर रिमोट सेटअप
- 26. सेलेनियम वेबड्राइवर 2.25.0
- 27. पाइथन + सेलेनियम वेबड्राइवर
- 28. सेलेनियम वेबड्राइवर क्रोम
- 29. सेलेनियम आरसी और वेबड्राइवर
- 30. सेलेनियम पायथन-बाध्यकारी वेबड्राइवर
भी, कैलेंडर मैं इस जैसे कार्यों का उपयोग कर रहा एक: [कड़ी] (http: //google.latest.gwt- web-calendar.appspot.com) – spacebed
दुर्भाग्य से लिंक एक नई नियुक्ति बनाने के लिए खाली कैलेंडर पर डबल क्लिक करने की अनुमति नहीं देता है। हालांकि मैं मौजूदा कैलेंडर पर डबल क्लिक करने और इसे सफलतापूर्वक खोलने में सक्षम था। मैंने जावा में यद्यपि एक्शन एपीआई का इस्तेमाल किया था। सुनिश्चित नहीं है कि यह कुछ ऐसा है जिसे आप ढूंढ रहे हैं।यदि आप रुचि रखते हैं तो मैं कोड पोस्ट कर सकता हूं – nilesh
आप सही हैं, लेकिन पहले से पंजीकृत पर डबल क्लिक अनुकरण करने के लिए भी मेरे वास्तविक एप्लिकेशन के लिए काम नहीं करता है। हालांकि मुझे कोड में दिलचस्पी है, क्योंकि यह मुझे सी # समतुल्य को समझने में मदद कर सकता है। – spacebed