यदि ब्राउज़र विंडो फ़ोकस में नहीं है, तो वर्तमान पृष्ठ पर सभी वेबड्राइवर पहचान विफल हो जाती हैं।सुनिश्चित करें कि वेबड्राइवर द्वारा खोला गया ब्राउज़र हमेशा ध्यान केंद्रित करता है
वेबड्राइवर का उपयोग करके ब्राउजर को फोकस में कैसे लाया जा सकता है?
यदि ब्राउज़र विंडो फ़ोकस में नहीं है, तो वर्तमान पृष्ठ पर सभी वेबड्राइवर पहचान विफल हो जाती हैं।सुनिश्चित करें कि वेबड्राइवर द्वारा खोला गया ब्राउज़र हमेशा ध्यान केंद्रित करता है
वेबड्राइवर का उपयोग करके ब्राउजर को फोकस में कैसे लाया जा सकता है?
executeScript("window.focus();")
हालांकि मैं another question जो Chrome के इस संस्करण में काम करता है में एक हैक पाया (इस पोस्ट के समय v47) नवीनतम क्रोम में मेरे लिए काम नहीं किया।
जेनेरिक चरणों, के बाद से सवाल सेलेनियम एपीआई भाषा निर्दिष्ट नहीं करता:, ब्राउज़र
webdriverjs
में चेतावनीकार्यान्वयन स्वीकार करें द्वारा
const chrome = setupChromeWebdriver(); // get your webdriver here
chrome.executeScript('alert("Focus window")'))
.then(() => chrome.switchTo().alert().accept());
सेलेनियम 3.0 टा का उपयोग कर रहा हूँ केएस:
((IJavaScriptExecutor)po.WebDriver).ExecuteScript("window.focus();");
इसका मतलब यह नहीं है कि ब्राउज़र विंडो को वास्तविक फोकस मिलेगा, यानी यह गारंटी नहीं देता है कि ब्राउज़र विंडो ओएस स्तर पर सक्रिय होगी; ऐसे मामले हैं जहां यह केवल ओएस स्तर 'ध्यान' संदेश ट्रिगर करेगा। – cprn
यह मेरे लिए काम करता है। ब्राउज़र खोलने वाले कोड के बाद, इस स्निपेट को जारी करें:
String window = driver.getWindowHandle();
((JavascriptExecutor) driver).executeScript("alert('Test')");
driver.switchTo().alert().accept();
driver.switchTo().window(window);
क्या ब्राउज़र? फ़ायरफ़ॉक्स, आईई, क्रोम? –
उदाहरण क्यों ध्यान केंद्रित नहीं करेगा? यदि आप सामान्य रूप से परीक्षण चलाने वाले कंप्यूटर पर काम करने की कोशिश कर रहे हैं, तो हाँ, यह अच्छी तरह से काम नहीं करेगा क्योंकि सेलेनियम ओएस मूल कीबोर्ड का उपयोग करता है और उन निर्देशों पर क्लिक करता है जिनके साथ आप हस्तक्षेप करेंगे। कभी-कभी, ['driver.switchTo() .defaultContent()'] (http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.TargetLocator.html#defaultContent% 28% 2 9) (और/या 'स्विचटो() सक्रिय एलीमेंट() ') मदद करता है - ज्यादातर आईई पर। आपका उपयोग केस क्या है? –