সুস্পষ্ট অপেক্ষা ব্যবহার করে সেলেনিয়াম ওয়েবড্রাইভারে একটি উপাদান উপস্থিত না হওয়া পর্যন্ত আমরা অপেক্ষা করতে পারি। এটি প্রধানত ব্যবহৃত হয় যখনই পৃষ্ঠায় উপলব্ধ একটি উপাদানের জন্য সিঙ্ক্রোনাইজেশন সমস্যা হয়৷
WebDriverWait এবং ExpectedCondition ক্লাসগুলি একটি সুস্পষ্ট অপেক্ষা বাস্তবায়নের জন্য ব্যবহার করা হয়। আমাদের WebDriverWait-এর একটি অবজেক্ট তৈরি করতে হবে যা ExpectedCondition ক্লাসের পদ্ধতিগুলিকে আহ্বান করবে৷
ওয়েবড্রাইভার প্রত্যাশিত মানদণ্ড পূরণের জন্য একটি নির্দিষ্ট সময়ের জন্য অপেক্ষা করে। সময় অতিবাহিত হওয়ার পরে, একটি ব্যতিক্রম নিক্ষেপ করা হয়। একটি উপাদান উপস্থিত হওয়ার জন্য অপেক্ষা করতে, আমাদের প্রত্যাশিত শর্ত - ElementExists ব্যবহার করতে হবে৷
সিনট্যাক্স
WebDriverWait w = new WebDriverWait(driver, TimeSpan.FromSeconds(20)); w.Until(ExpectedConditions.ElementExists(By.TagName("h1")));
আসুন আমরা পাঠ্যের জন্য অপেক্ষা করার চেষ্টা করি - টিউটোরিয়াল পয়েন্টে ক্যারিয়ার সম্পর্কে পৃষ্ঠায় পাওয়া যাবে −
উদাহরণ
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Firefox; using System; using OpenQA.Selenium; using OpenQA.Selenium.Support.UI; namespace NUnitTestProject2{ public class Tests{ String url ="https://www.tutorialspoint.com/about/about_careers.htm"; IWebDriver driver; [SetUp] public void Setup(){ //creating object of FirefoxDriver driver = new FirefoxDriver(""); } [Test] public void Test2(){ //URL launch driver.Navigate().GoToUrl(url); //identify element then click IWebElement l = driver.FindElement(By.XPath("//*[text()='Careers']")); l.Click(); //expected condition of ElementExists WebDriverWait w = new WebDriverWait(driver, TimeSpan.FromSeconds(20)); w.Until(ExpectedConditions.ElementExists(By.TagName("h1"))); //identify element then obtain text IWebElement m = driver.FindElement(By.TagName("h1")); Console.WriteLine("Element text is: " + m.Text); } [TearDown] public void close_Browser(){ driver.Quit(); } } }
আউটপুট