हम सेलेनियम के साथ जावास्क्रिप्ट वाले जटिल पेज के लोड होने की प्रतीक्षा कर सकते हैं। पेज लोड होने के बाद, हम जावास्क्रिप्ट विधि document.readyState को लागू कर सकते हैं और complete लौटने तक प्रतीक्षा कर सकते हैं।
सिंटैक्स
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("return document.readyState").toString().equals("complete");अगला, हम explicit wait अवधारणा का उपयोग करके सिंक्रनाइज़ेशन में यह सत्यापित कर सकते हैं कि पेज किसी कार्रवाई के लिए तैयार है या नहीं। हम तत्व के लिए अपेक्षित स्थिति presenceOfElementLocated की प्रतीक्षा कर सकते हैं। हम संपूर्ण सत्यापन को try catch ब्लॉक के भीतर लागू करेंगे।
उदाहरण
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.JavascriptExecutor;
public class PageLoadWt {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.tutorialspoint.com/index.htm");
// जावास्क्रिप्ट एक्जीक्यूटर से पेज रेडी स्टेट जांचें
JavascriptExecutor j = (JavascriptExecutor)driver;
if (j.executeScript("return document.readyState").toString().equals("complete")) {
System.out.println("Page loaded properly.");
}
// अपेक्षित स्थिति presenceOfElementLocated
WebDriverWait wt = new WebDriverWait(driver, 3);
try {
wt.until(ExpectedConditions.presenceOfElementLocated(By.id("gsc-i-id1")));
// तत्व पहचानें
driver.findElement(By.id("gsc-i-id1")).sendKeys("Selenium");
} catch (Exception e) {
System.out.println("Element not located");
}
driver.quit();
}
}आउटपुट
