آموزش نصب و استفاده از کتابخانه Selenium.WebDriver در سی شارپ
در این بخش آموزش نحوه نصب و استفاده از کتابخانه Selenium.WebDriver در زبان برنامه نویسی سی شارپ را برای شما آماده کرده ایم که می تواند در خودکار سازی کارها و انجام تست ها به صورت خودکار به شما کمک کند. در ادامه می توانید جزیئات و همچنین فیلمی از نحوه نصب و استفاده از این کتابخانه را مشاهده کنید.
مراحل آموزش
- ایجاد پروژه سی شارپ
- نصب بسته WebDriver
- دانلود ChromeDriver
- ایجاد برنامه
ایجاد پروژه سی شارپ
به منظور سادگی کار ما از پروژه کنسولی (Console App) استفاده کرده ایم. برای ایجاد پروژه هم می توانید از دستور زیر استفاده کنید:
1 | dotnet new console -o "SeleniumSandbox" |
و هم می توانید با توجه به تصاویر زیر و از طریق خود ویژوال استودیو پروژه را ایجاد کنید.
نصب بسته Selenium.WebDriver
به منظور نصب این کتابخانه، هم می توانید از دستور زیر استفاده کنید:
1 | Install-Package Selenium.WebDriver -Version 3.141.0 |
و هم می توانید از پنل مدیریت بسته های پروژه، آن ار نصب کنید.
دانلود ChromeDriver
برای دانلود درایور مربوط به مرورگر گوگل کروم می توانید به آدرس زیر بروید و با توجه با نسخه مرورگری که بر روی سیستم خود نصب کرده اید، درایور مناسب را دانلود کنید.
https://chromedriver.chromium.org/downloads
بعد از دانلود آن را از حالت فشرده خارج کرده و در محلی ذخیره کنید. بعدا داخل برنامه به آدرس فولدری که این فایل قرار دارد، نیاز خواهیم داشت.
ایجاد برنامه
برای اجرا و تست کارکرد کتابخانه ما یک پروژه ساده درست می کنیم که ابتدا مرورگر را باز می کند، سپس به آدرس https://google.com می رود و عبارت “سورس سرا – آموزش برنامه نویسی” را در گوگل جستجو می کند. قبل از بررسی کد پروژه، ابتدا نحوه پیدا کردن نام مربوط به فیلد جستجوی موجود در صفحه اصلی گوگل را توضیح می دهم. برای این کار بعد از ورود به صفحه گوگل بر روی فیلد جستجو کلیک راست کرده مراحل زیر را انجام دهید.
ابتدا کد کامل برنامه را قرار می دهم و سپس بخش های مختلف آن را توضیح می دهم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using static System.Console; namespace SeleniumSandbox { internal class Program { private const string ChromeDriverContainer = @"C:\Users\VirtualHome\Desktop\"; private const string GoogleHomePage = "https://google.com"; private const string GoogleSearchBoxName = "q"; private const string SearchQuery = "سورس سرا - آموزش برنامه نویسی"; public static void Main() { using var webDriver = new ChromeDriver(ChromeDriverContainer); webDriver.Navigate().GoToUrl(GoogleHomePage); var searchBox = webDriver.FindElement(By.Name(GoogleSearchBoxName)); searchBox.SendKeys(SearchQuery); searchBox.Submit(); WriteLine("Jobs Done!"); ReadKey(); } } } |
بخش زیر مربوط به namespace ها است که شامل فضای نام مورد نیاز برای بسته Selenium و کلاس Console است.
1 2 3 | using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using static System.Console; |
بخش زیر شامل متغیرهای مورد نیاز برنامه است که ChromeDriverContainer آدرس فولدری که درایور کروم در آن قرار دارد را نگه میدارد. GoogleHomePage آدرس صفحه اصلی گوگل و GoogleSearchBoxName هم نامی که داخل سورس صفحه اصلی گوگل به input مربوط به جستجو اختصاص داده شده است را نگه میدارد. SearchQuery هم عبارتی که باید جستجو کنیم را نگه میدارد.
1 2 3 4 | private const string ChromeDriverContainer = @"Path to directory that includes chromedriver.exe file"; private const string GoogleHomePage = "https://google.com"; private const string GoogleSearchBoxName = "q"; private const string SearchQuery = "سورس سرا - آموزش برنامه نویسی"; |
تو بخش زیر یه نمونه از ChromeDriver ایجاد و آدرس فولدری که شامل درایور کروم است را به سازنده این شیء ارسال میکنیم. سپس آدرسی که درایور باید به آن برود را تنظیم میکنیم.
1 2 | using var webDriver = new ChromeDriver(ChromeDriverContainer); webDriver.Navigate().GoToUrl(GoogleHomePage); |
در این بخش با استفاده از نام عنصر، ورودی جستجوی گوگل را پیدا و عبارت مورد نظرمان را داخل آن قرار می دهیم. بعد از آن با استفاده از متد Submit فرم جستجو را ارسال میکنم.
1 2 3 | var searchBox = webDriver.FindElement(By.Name(GoogleSearchBoxName)); searchBox.SendKeys(SearchQuery); searchBox.Submit(); |
با سلام و خسته نباشید. بنده خیلی دنبال دوره آموزشی پروژه محور کار با کتابخونه سلنیوم بودم آموزشتون خوب بود ولی اگر امکانش هست لطفا در قالب ویدیو پروژه محور آموزش بدید و یک برنامه ساده باشه که لاگین اینستاگرام میکنه مثل ربات های مدیریت پیج اینستاگرام ی همچین چیزی 😁