python_developer
الذهاب إلى القناة على Telegram
کانال اموزش پایتون @Real_developer تبلیغات پذیرفته میشود.
إظهار المزيد1 519
المشتركون
لا توجد بيانات24 ساعات
-37 أيام
-430 أيام
أرشيف المشاركات
1 519
باید به مقدار بازگردانده شده توسط go_to_log_in_page() توجه داشت. اگر کلاس دیگری به نام FeedPage وجود داشت، تابع login() از کلاس LoginPage نمونهای از آن را (return FeedPage()) باز میگرداند. در ادامه، چگونگی استفاده از Page Object Pattern نمایش داده شده است.
1 519
این کد، عملکردی مشابه کد بالا دارد، با این تفاوت که Home Page و Login Page به صورت کلاسها نمایش داده شدهاند. کلاسها، مکانیزمهای لازم برای پیدا کردن دادهها در رابط کاربری و دستکاری آنها را کپسوله کردهاند. مورد دیگری که باید به آن توجه داشت، آن است که هنگام جا به جایی به صفحهای دیگر با استفاده از یک شی صفحه (Page Object)، این کد، Page Object برای صفحه جدید را باز میگرداند. «متدها» (Methods) و «اکسسورهایی» (Accessors) نیز وجود دارند که میتوانند هر آنچه یک انسان انجام میدهد را انجام دهند
1 519
. با این الگو (Pattern)، کلاسهای شی صفحه (Page Object Classes) برای مهمترین صفحات یا قسمتها (Fragments) ساخته میشوند و در واقع رابطهایی را شکل میدهند که برای برنامه قابل درک است. با در نظر داشتن این موضوع، میتوان کد بالا را بازنویسی کرد و کلاسهای HomePage و LoginPage را ساخت.
1 519
قرار دادن کدهای تکراری در پروژهها در حالت کلی اتفاقی بد و منفی است و در پروژه مطلب آموزش ساخت ربات اینستاگرام با پایتون به طور ویژهای بدتر محسوب میشود. زیرا کد سلنیوم به عناصر «رابط کاربری» (User Interface) وابسته است و عناصر رابط کاربری معمولا زیاد تغییر داده میشوند. هنگامی که عناصر رابط کاربری تغییر میکنند و نیاز به تغییر و به روز رسانی کد ایجاد میشود، بحث Page Object Pattern مطرح میشود.
1 519
کد نوشته شده در بالا، یک خطای مهم دارد و آن خطا، عدم تبعیت از اصول «خودت را تکرار نکن» (Don’t Repeat Yourself | DRY) است. بر اساس این اصل که در برنامهنویسی وجود دارد، برنامهنویس نباید یک یا چند خط کد را در مکانهای مختلف برنامه خود تکرار کند. در این راستا، برنامهنویسان معمولا از برنامهنویسی «تابعی» (Functional Programming) یا «شیگرا» (Object Oriented) استفاده میکنند. در قطعه کدهای ارائه شده تا این لحظه در مطلب آموزش ساخت ربات اینستاگرام با پایتون چند خط کد وجود دارد که هم در برنامه کاربردی و هم در کد تست تکرار شده است.
1 519
روش استفاده از Page Object Pattern
پرسشی که در این مرحله باید به آن پاسخ داد این است که اکنون که کد ورود (Login) نوشته شد، چطور میتوان یک تست برای آن نوشت؟ کد مربوط به این کار به صورت زیر است.
1 519
⭕️داده یکی از ارزشمندترین و مهم ترین سرمایه های سازمان ها و کسب و کارها هست و برای نگهداری و تولید این سرمایه فرصت های شغلی بسیاری وجود دارد که راه رسیدن به ثروت را برای متخصصان این حوزه هموار می سازد.
➖➖➖➖➖➖➖➖➖➖➖➖
☎️مشاوره وثبت نام
021-66075641
021-66075626
📲تلگرام و واتساپ
09222477250
➖➖➖➖➖➖➖➖➖➖➖➖
جزئیات دوره آنلاین علم داده ↙️
http://link.jsharif.com/public/al3nu
➖➖➖➖➖➖➖➖➖➖➖➖
🔷با ما در تلگرام همراه باشید🔷
https://t.me/joinchat/AAAAAD6fyUw0AYXKLGbkow
🌐www.SCTAE.net
1 519
با اجرای این اسکریپت، به صورت خودکار وارد حساب کاربری اینستاگرام فرد میشود. اکنون زمان شروع کار جدیتر با ربات اینستاگرام رسیده است. ادامه فرایند نوشتن این اسکریپت و تکمیل آن نیز، مشابه آنچه است که تا این لحظه انجام شده است. در واقع، ربات (اسکریپت) در ادامه پستها را پیمایش (Scroll)، مواردی که به آنها علاقه دارد (بر اساس معیارهایی که به آن داده شده است) را پس از پیدا کردن دکمه «Like» لایک و پس از پیدا کردن جعبه درج نظر، لایک یا برای آنها نظر درج میکند و به همین ترتیب ادامه میدهد. کلیه فعالیتهای ذکر شده را میتوان با استفاده از ابزار InstaPy انجام داد. اما پیش از استفاده از InstaPy باید با Page Object Pattern آشنا شد تا بهتر فهمید که InstaPy چگونه کار میکند. در بخش بعدی از مطلب آموزش ساخت ربات اینستاگرام با پایتون روش استفاده از Page Object Pattern بررسی میشود.
1 519
در ادامه، توضیحاتی پیرامون خطوط کد تغییر یافته و جدید ارائه شده است.
خط ۱۲: برای ۲ ثانیه به خواب میرود تا امکان بارگذاری صفحه فراهم شود.
خطوط ۱۴ و ۱۵: ورودیهای نامکاربری و رمز عبور را با استفاده از CSS پیدا میکند. کاربر میتواند از هر متد دیگری که ترجیح میدهد، برای انجام این کار استفاده کند.
خطوط ۱۷ و ۱۸: نام کاربری و رمز عبور را به ترتیب در محل ورود آنها وارد میکند.
خط ۲۰: کلمه «Login» را با XPath پیدا میکند.
خط ۲۱: روی دکمه ورود کلیک میکند.
1 519
با اجرای اسکریپت بالا، میتوان خروجی آن را مشاهده کرد. این اسکریپت، مرورگر را باز میکند، به اینستاگرام میرود، روی دکمه ورود (Login) کلیک میکند و به صفحه ورود به اینستاگرام میرود. در صفحه ورود، سه عنصر مهم وجود دارد که عبارتند از:
بخش ورود نام کاربری
بخش ورود رمز عبور
دکمه ورود
اکنون باید اسکریپت را به گونهای تغییر داد که این عناصر را پیدا کند، اطلاعات هویتی صاحب صفحه کاربری شامل نام کاربری و گذرواژه را وارد و روی دکمه ورود (Login) کلیک کند
1 519
در ادامه، خطهای کد جدید توضیح داده میشوند.
خط ۵: پنج ثانیه زمان انتظار ایجاد میکند. اگر سلنیوم نتواند یک عنصر (Element) را پیدا کند، برای مدت پنج ثانیه در انتظار میماند تا امکان بارگذاری همه چیز فراهم شود و مجددا تلاش کند.
خط ۹: عنصر را که متن آن معادل ورود یا همان Log in است پیدا میکند. در اینجا، این کار با استفاده از XPath انجام میشود؛ اما متدهای دیگری نیز وجود دارند که با استفاده از آنها نیز میتوان این کار را انجام داد.
خط ۱۰: روی عنصر برای صفحه ورود (login) کلیک میکند.
