Selenium-এ জাভাস্ক্রিপ্ট সহ জটিল পেজ লোড হওয়ার জন্য অপেক্ষা করা যায়। পেজ লোড হওয়ার পর, আমরা জাভাস্ক্রিপ্ট মেথড document.readyState আহ্বান করতে পারি এবং complete ফেরত আসা পর্যন্ত অপেক্ষা করতে পারি।
সিনট্যাক্স
JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("return document.readyState").toString().equals("complete");পরবর্তীতে, আমরা পেজ কি যেকোনো অ্যাকশনের জন্য রেডি সেটি যাচাই করতে পারি, explicit wait কনসেপ্ট ব্যবহার করে সিঙ্ক্রোনাইজেশনে। আমরা এলিমেন্টের জন্য presenceOfElementLocated এক্সপেক্টেড কন্ডিশন দিয়ে অপেক্ষা করতে পারি। আমরা পুরো যাচাইকায় ট্রাই-ক্যাচ ব্লকে ইমপ্লিমেন্ট করব।
উদাহরণ
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"); // Javascript Executor to check page ready state JavascriptExecutor j = (JavascriptExecutor)driver; if (j.executeScript ("return document.readyState").toString().equals("complete")){ System.out.println("Page loaded properly."); } //expected condition presenceOfElementLocated WebDriverWait wt = new WebDriverWait(driver,3); try { wt.until(ExpectedConditions .presenceOfElementLocated (By.id("gsc−i−id1"))); // identify element driver.findElement (By.id("gsc−i−id1")).sendKeys("Selenium"); } catch(Exception e) { System.out.println("Element not located"); } driver.quit(); } }আউটপুট
