কম্পিউটার টিউটোরিয়াল

C# এবং Selenium: এলিমেন্ট উপস্থিত হওয়া পর্যন্ত ওয়েইট করুন


Selenium WebDriver-এ এলিমেন্ট উপস্থিত হওয়া পর্যন্ত ওয়েইট করতে এক্সপ্লিসিট ওয়েইট ব্যবহার করা হয়। এটি মূলত তখন ব্যবহৃত হয় যখন একটি এলিমেন্ট পেজে উপলব্ধ হওয়ার জন্য সিঙ্ক্রোনাইজেশন সমস্যা রয়েছে।

WebDriverWait এবং ExpectedCondition ক্লাসগুলো এক্সপ্লিসিট ওয়েইট ইম্প্লিমেন্টেশনের জন্য ব্যবহৃত হয়। আমাদের WebDriverWait-একটি অবজেক্ট তৈরি করতে হবে যা ExpectedCondition ক্লাসের মেথডগুলো ইনভোক করবে।

WebDriver নির্দিষ্ট সময় পর্যন্ত প্রতীক্ষা করে যে এক্সপেক্টেড শর্ত পূরণ হয়। সময় শেষ হলে এক্সেপশন থ্রো করা হয়। একটি এলিমেন্ট উপস্থিত থাকার জন্য ওয়েইট করতে হলে, এক্সপেক্টেড কন্ডিশন হিসেবে ElementExists ব্যবহার করতে হবে।

সিনট্যাক্স

WebDriverWait w = new WebDriverWait(driver, TimeSpan.FromSeconds(20)); w.Until(ExpectedConditions.ElementExists(By.TagName("h1")));

চলুন পেজে - About Careers at Tutorials Point টেক্সটটি উপলব্ধ হওয়ার জন্য প্রतीক্ষা করি —

C# এবং Selenium: এলিমেন্ট উপস্থিত হওয়া পর্যন্ত ওয়েইট করুন

উদাহরণ

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();         }     } }

আউটপুট

C# এবং Selenium: এলিমেন্ট উপস্থিত হওয়া পর্যন্ত ওয়েইট করুন

  1. Selenium WebDriver জাভায় ব্রাউজার লগ ক্যাপচার করা

  2. ফ্যান্টমজেএস (PhantomJS) ও সেলেনিয়াম দিয়ে পাইথনে উইন্ডো সাইজ সেট করুন

  3. সিলেনিয়াম ও পাইথনে ওয়েব এলিমেন্ট ও টেক্সট খুঁজে বের করা

  4. সিলেনিয়াম ওয়েবড্রাইভার পাইথনে পেজ লোড হওয়া পর্যন্ত অপেক্ষা করা (Explicit Wait)