हम सेलेनियम वेबड्राइवर में आईफ्रेम के साथ काम कर सकते हैं। HTML कोड में एक फ्रेम को
डिफ़ॉल्ट रूप से सेलेनियम के पास मूल ब्राउज़र ड्राइवर तक पहुंच होती है। फ्रेम तत्व तक पहुंचने के लिए, ड्राइवर फोकस को मुख्य ब्राउज़र विंडो से फ्रेम में स्थानांतरित करना होगा। फ़्रेम में शिफ्ट होने के एक से अधिक तरीके हैं -
-
स्विचटो ()। फ्रेम (आईडी) - आईडी या फ्रेम का नाम एक तर्क के रूप में पारित किया जाता है।
सिंटैक्स −driver.switchTo().frame("id"), आईडी के साथ फ़्रेम पर स्विच करना।
-
स्विचटो ()। फ्रेम (एम) - फ्रेम की अनुक्रमणिका को तर्क के रूप में पारित किया जाता है। सूचकांक शून्य से शुरू होता है।
सिंटैक्स −driver.switchTo().frame(0), पेज के पहले फ्रेम पर स्विच करना।
-
स्विचटो ()। फ्रेम (वेबलेमेंट एन) - फ्रेम के वेबलेमेंट को एक तर्क के रूप में पारित किया जाता है।
सिंटैक्स −driver.switchTo().frame(l), वेबलेमेंट l के साथ फ़्रेम पर स्विच करना।
-
switchTo().defaultContent() - फोकस को फ्रेम से मुख्य पेज पर स्विच करना।
सिंटैक्स −driver.switchTo().defaultContent()
उदाहरण
कोड कार्यान्वयन।
आयात करें सार्वजनिक वर्ग iFrameMethods {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) { System.setProperty ("webdriver.chrome.driver", "सी:\\ उपयोगकर्ता \\ ghs6kor \\ डेस्कटॉप \\ जावा \\ chromedriver.exe"); वेबड्राइवर ड्राइवर =नया क्रोमड्राइवर (); Driver.get ("https://the-internet.herokuapp.com/frames"); Driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS); // तत्व की पहचान करें और Driver.findElement (By.partialLinkText ("नेस्टेड")) पर क्लिक करें। क्लिक करें (); // फ्रेम नाम के साथ फ्रेम पर स्विच करना Driver.switchTo().frame("frame-bottom"); WebElement m =Driver.findElement(By.cssSelector("body")); System.out.println ("फ़्रेम टेक्स्ट:" + m.getText ()); ड्राइवर.क्लोज़ (); }}पूर्व>आउटपुट