پرش به محتوا

استفاده از Selenium در پایتون

اصلا چرا اینجوری شد؟؟؟ چیه این زندگی؟ تموم تن من داره میلرزه… :))

من داشتم زندگیمو میکردم، وب کار میکردم و PHP و Laravel که یهویی اومدم دانشگاه و دارم درس میخونم… البته همچنان کارم میکنم که گشنه نمونم… این وسط پایتونم تا حدودی به اجبار یاد گرفتم و الان تا یه حدودی باهاش راحتم، پایتون کارای سخت رو با سینتکس ساده انجام میده و میشه گفت آدم خوبیه!

دیروز از سر کنجکاوی باید یه صفحه ای رو هی باز میکردم لاگین میشدم و یه فرمی رو پر میکردم و سابمیت میکردم و یه آیدی رو هی افزایش میدادم و توی صفحات جدید بازش میکردم. یکم که خسته شدم گفتم چرا برنامه ننویسم که این کارو بکنه. رفتم گشتم دیدم یه کتابخونه ای هست که تقریبا واسه همه زبونای اسکریپت نویسی دسکتاپ هم موجوده، اسمش سلنیومه! با این کتابخونه میتونید مرورگر های مختلف رو باز کنید به المنت هاش دسترسی داشته باشید و در کل اکثر کارایی که یه آدم پشت مرورگر میتونه انجام بده رو میتونید باهاش انجام بدید. سلنیوم برای پایتون رو میتونید اینجا ببینید : selenium-python.readthedocs.io

برای نصب میتونید از pip استفاده کنید : pip install selenium

درایور هر مرورگر رو هم باید نصب کنید تا با این کتابخونه مچ بشه، مثلا برای کروم میتونید از اینجا اقدام کنید

کاری که من با این ابزار استفاده کردم یکم پیچیده بود ولی شما برای شروع میتونید با این کد تست کنید که همه چی اوکی هست یا نه

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

بصورت خلاصه اگه بخوام بگم، کد بالا سایت پایتون.ارگ رو باز میکنه و توی سرچ باکسش یچیزی رو سرچ میزنه… بعضی وقتا خیلی به درد میخوره باور کنید 🙂

5 دیدگاه دربارهٔ «استفاده از Selenium در پایتون»

  1. سلام. لطف میکنید سوال من رو پاسخ بدید یا حداقل راهنمایی بفرمایید. مقاله ای که بر روی آن کار میکنم، ابزاری (چارچوب) برای تست خودکار نرم افزار ارائه داده است که به زبان پایتون نوشته شده است و بر روی لینوکس build می شود. حال من میخواهم روش این چارچوب را با سلنیوم و گوگل کروم پیاده سازی کنم. اما به زبان پایتون آشنایی ندارم(به زبان c# و تا حدود کمی C++ آشنایی دارم) . راه حل مناسبی که من برای این کار چیست؟
    آیا میتوانم آن ابزار را در سلنیوم (با توجه به این نوشته شما)اجرا کنم؟ یا باید آن را به زبان دیگری مانند جاوا برگردانده و در سلنیوم بنویسم؟ (البته من تازه قصد یادگیری کار با سلنیوم را دارم. )
    البته این رو بگم که من میخواهم کدهای جاوااسکریپت رو مورد تست قرار بدهم.
    ولی در جایی خوندم:
    “روش‌های مختلفی برای ایجاد کراولر وجود دارد. به عنوان نمونه می‌توان از پایتون به این منظور استفاده کرد، اما مشکل اینجاست که خزنده ساخته شده به این روش از جاوااسکریپت پشتیبانی نمی‌کند. بنابر این در وب سایت‌هایی که برای مدیریت ارتباط با کاربران بیشتر از زبان جاوااسکریپت استفاده شده است نمی‌توان از آن بهره برد. در چنین شرایطی می‌توان کراولری نوشت که از گوگل کروم استفاده می‌کند”
    از این آدرس:
    “http://topdev.ir/posts/183/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A8%D8%A7-%D8%B3%D9%84%D9%86%DB%8C%D9%88%D9%85-%DB%8C%DA%A9-%D9%88%D8%A8-%DA%A9%D8%B1%D8%A7%D9%88%D9%84%D8%B1-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DA%A9%D9%86%DB%8C%D9%85%D8%9F-(%D8%B3%D8%A7%D8%AE%D8%AA-%D8%AE%D8%B2%D9%86%D8%AF%D9%87-%D9%88%D8%A8)”
    با این حال آیا من میتوانم این ابزار رو که به زبان پایتون نوشته شده با سلنیوم پیاده سازی کرده و برای تست برنامه های جاوااسکریپت استفاده کنم ؟
    (البته خود این مقاله هم برنامه های جاوااسکریپت رو مورد آزمون قرار داده، با این حال اگر سوالم بی مورد هست، از حضورتون عذرخواهی میکنم.)

    1. سلام
      برای تست کدهای جاوااسکریپت باید کد توسط مرورگر رندر بشه و کلا کدهای جاوا اسکریپت رو باید با مرورگر ران کنید و تست بگیرید روش(البته شاید روش دیگه ای وجود داره که من مطلع نیستم)
      اینجا میتونید لینک های دانلود این چارچوب برای زبون های مختلف رو ببینید : https://www.seleniumhq.org/download/ که سی شارپ رو هم شامل میشه اتفاقا

  2. سلام. لطف میکنید سوال من رو پاسخ بدید یا حداقل راهنمایی بفرمایید. مقاله ای که بر روی آن کار میکنم، ابزاری (چارچوب) برای تست خودکار نرم افزار ارائه داده است که به زبان پایتون نوشته شده است و بر روی لینوکس build می شود. حال من میخواهم روش این چارچوب را با سلنیوم و گوگل کروم پیاده سازی کنم. اما به زبان پایتون آشنایی ندارم(به زبان c# و تا حدود کمی C++ آشنایی دارم) . راه حل مناسبی که من برای این کار چیست؟
    آیا میتوانم آن ابزار را در سلنیوم (با توجه به این نوشته شما)اجرا کنم؟ یا باید آن را به زبان دیگری مانند جاوا برگردانده و در سلنیوم بنویسم؟ (البته من تازه قصد یادگیری کار با سلنیوم را دارم. )
    پ

پاسخ دادن به مهدخت البرزی لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *