☝️ادامه کد متن قبلی☝️
🎉 تبریک! شما یک IDE ساده با پایتون ساختید!
این IDE به شما امکان میدهد تا کدهای پایتون خود را نوشته، ذخیره و اجرا کنید. شما میتوانید با افزودن قابلیتهای بیشتر مانند هایلایت سینتکس، شمارهگذاری خطوط و دیباگر، این IDE را بهبود بخشید.
🔧 گسترش قابلیتها*
در اینجا چند پیشنهاد برای گسترش قابلیتهای IDE:
- هایلایت سینتکس
- شمارهگذاری خطوط
- تکمیل خودکار کد
- ابزار دیباگ
(کانال ما)
#PythonIDE #Tkinter #PythonProgramming #CodeEditor #LearnPython
def save_file():
file_path = filedialog.asksaveasfilename(defaultextension=".py", filetypes=[("Python files", "*.py")])
if file_path:
with open(file_path, "w", encoding="utf-8") as file:
code = text_widget.get(1.0, tk.END)
file.write(code)
def run_code():
code = text_widget.get(1.0, tk.END)
exec(code)
file_menu.add_command(label="باز کردن", command=open_file)
file_menu.add_command(label="ذخیره", command=save_file)
file_menu.add_separator()
file_menu.add_command(label="اجرا", command=run_code)
if name == "main":
main_window = create_main_window()
text_editor = add_text_widget(main_window)
add_menu(main_window, text_editor)
main_window.mainloop()
🎉 تبریک! شما یک IDE ساده با پایتون ساختید!
این IDE به شما امکان میدهد تا کدهای پایتون خود را نوشته، ذخیره و اجرا کنید. شما میتوانید با افزودن قابلیتهای بیشتر مانند هایلایت سینتکس، شمارهگذاری خطوط و دیباگر، این IDE را بهبود بخشید.
🔧 گسترش قابلیتها*
در اینجا چند پیشنهاد برای گسترش قابلیتهای IDE:
- هایلایت سینتکس
- شمارهگذاری خطوط
- تکمیل خودکار کد
- ابزار دیباگ
(کانال ما)
#PythonIDE #Tkinter #PythonProgramming #CodeEditor #LearnPython
👍4❤2
الگوریتم Time-Interval Sorting در پایتون 🚀
این الگوریتم به شما کمک میکنه تا دادهها رو بر اساس بازههای زمانی مرتب کنید. 📅⏳ این برای زمانی که دارید با دادههای رویدادی (مثل رویدادهای تقویمی، لاگهای سرور و...) کار میکنید خیلی مفیده. 💡
مثال 📝
بیایید این کد رو خط به خط بررسی کنیم:
1. تعریف تابع: در ابتدا، ما یک تابع به نام
2. مرتبسازی: داخل تابع، ما از تابع
3. برگشت نتیجه: در نهایت، لیست مرتبشده را برمیگردانیم. 🏁
4. مثال کاربردی: حالا یک مثال از بازههای زمانی داریم و از تابع استفاده میکنیم تا آنها را مرتب کنیم. 📝
اجرای کد 💻
با اجرای این کد، خروجی به صورت زیر خواهد بود:
بیایید نگاه دقیقتری به عملکرد این الگوریتم بندازیم:
- Lambda Function: تابع
- Sorted Function: تابع
- Complexity: زمان اجرای این الگوریتم
کاربردهای عملی 🌟
این الگوریتم در بسیاری از موارد کاربرد دارد:
- مدیریت زمانبندی: مرتبسازی جلسات، وظایف، یا هر نوع رویداد دیگری که دارای زمان شروع و پایان هستند.
- تحلیل لاگها: مرتبسازی لاگهای سرور برای تحلیل بهتر.
- تجزیه و تحلیل دادهها: مرتبسازی دادههای زمانی برای تحلیل روندها و الگوها.
[اموزش های بیشتر کانال ما]
#Python #Programming #CodingTips #LearnPython
این الگوریتم به شما کمک میکنه تا دادهها رو بر اساس بازههای زمانی مرتب کنید. 📅⏳ این برای زمانی که دارید با دادههای رویدادی (مثل رویدادهای تقویمی، لاگهای سرور و...) کار میکنید خیلی مفیده. 💡
مثال 📝
def time_interval_sorting(intervals):
# مرتبسازی بر اساس زمان شروع
sorted_intervals = sorted(intervals, key=lambda x: x[0])
return sorted_intervals
# مثال
intervals = [(5, 10), (1, 3), (4, 8), (2, 6)]
sorted_intervals = time_interval_sorting(intervals)
print("بازههای زمانی مرتبشده:", sorted_intervals)
بیایید این کد رو خط به خط بررسی کنیم:
1. تعریف تابع: در ابتدا، ما یک تابع به نام
time_interval_sorting
تعریف میکنیم که یک لیست از بازههای زمانی را به عنوان ورودی میگیرد. هر بازه زمانی به صورت یک جفت عدد (زمان شروع و زمان پایان) تعریف میشود. 🛠️def time_interval_sorting(intervals):
2. مرتبسازی: داخل تابع، ما از تابع
sorted
برای مرتبسازی لیست بازههای زمانی استفاده میکنیم. کلید مرتبسازی بر اساس زمان شروع هر بازه تنظیم شده است. برای این کار، از یک تابع لامبدا استفاده میکنیم که عنصر اول (زمان شروع) هر بازه را برمیگرداند. 🔄sorted_intervals = sorted(intervals, key=lambda x: x[0])
3. برگشت نتیجه: در نهایت، لیست مرتبشده را برمیگردانیم. 🏁
return sorted_intervals
4. مثال کاربردی: حالا یک مثال از بازههای زمانی داریم و از تابع استفاده میکنیم تا آنها را مرتب کنیم. 📝
intervals = [(5, 10), (1, 3), (4, 8), (2, 6)]
sorted_intervals = time_interval_sorting(intervals)
print("بازههای زمانی مرتبشده:", sorted_intervals)
اجرای کد 💻
با اجرای این کد، خروجی به صورت زیر خواهد بود:
بازههای زمانی مرتبشده: [(1, 3), (2, 6), (4, 8), (5, 10)]
بیایید نگاه دقیقتری به عملکرد این الگوریتم بندازیم:
- Lambda Function: تابع
lambda x: x[0]
یک تابع ناشناس (بدون نام) است که به عنوان کلید مرتبسازی استفاده میشود. این تابع عنصر اول هر بازه (زمان شروع) را برمیگرداند تا بر اساس آن مرتبسازی انجام شود. 🗝️- Sorted Function: تابع
sorted
یک تابع داخلی پایتون است که یک لیست را گرفته و آن را مرتب میکند. میتوانید از پارامتر key
برای تعیین کلید مرتبسازی استفاده کنید. 🔧- Complexity: زمان اجرای این الگوریتم
O(n log n)
است که بهینهترین حالت برای مرتبسازی عمومی است. ⏱️کاربردهای عملی 🌟
این الگوریتم در بسیاری از موارد کاربرد دارد:
- مدیریت زمانبندی: مرتبسازی جلسات، وظایف، یا هر نوع رویداد دیگری که دارای زمان شروع و پایان هستند.
- تحلیل لاگها: مرتبسازی لاگهای سرور برای تحلیل بهتر.
- تجزیه و تحلیل دادهها: مرتبسازی دادههای زمانی برای تحلیل روندها و الگوها.
[اموزش های بیشتر کانال ما]
#Python #Programming #CodingTips #LearnPython
👍2❤1
ساخت یک مفسر ساده در پایتون 🚀
مرحله ۱: تعریف زبان برنامهنویسی 📜
ابتدا باید قواعد و دستورات زبان برنامهنویسی خودتون رو تعریف کنید. برای این آموزش، ما یک زبان ساده به نام "MiniLang" با دستورات پایهای تعریف میکنیم:
1. دستور
2. دستور
3. دستور
مرحله ۲: نوشتن Lexer 🔍
Lexer یا تجزیهکننده لغوی، متن برنامه را به توکنها (قطعات کوچکتر) تقسیم میکند.
مرحله ۳: نوشتن Parser 🔍
Parser یا تجزیهکننده نحوی، توکنها را به دستورات قابل اجرا تبدیل میکند.
مرحله ۴: اجرای دستورات 🏃♂️
Interpreter یا مفسر، دستورات را اجرا میکند.
مرحله ۵: استفاده از مفسر 📟
حالا کد کامل برای مفسر خودمون رو داریم. میتونیم یک برنامه MiniLang رو اجرا کنیم.
این کد مقدار ۱۵ را چاپ خواهد کرد چون ابتدا مقدار ۵ به متغیر
[آموزش ساخت مفسر]
#Python #Programming #CodingTips #LearnPython #Interpreter #MiniLang
مرحله ۱: تعریف زبان برنامهنویسی 📜
ابتدا باید قواعد و دستورات زبان برنامهنویسی خودتون رو تعریف کنید. برای این آموزش، ما یک زبان ساده به نام "MiniLang" با دستورات پایهای تعریف میکنیم:
1. دستور
PRINT
برای چاپ متن.2. دستور
SET
برای تعریف متغیرها.3. دستور
ADD
برای جمع کردن مقادیر.مرحله ۲: نوشتن Lexer 🔍
Lexer یا تجزیهکننده لغوی، متن برنامه را به توکنها (قطعات کوچکتر) تقسیم میکند.
import re
def lexer(code):
tokens = []
for line in code.splitlines():
line = line.strip()
if line:
if line.startswith("PRINT"):
tokens.append(("PRINT", line[6:]))
elif line.startswith("SET"):
match = re.match(r"SET (\w+) (.+)", line)
if match:
tokens.append(("SET", match.group(1), match.group(2)))
elif line.startswith("ADD"):
match = re.match(r"ADD (\w+) (\w+)", line)
if match:
tokens.append(("ADD", match.group(1), match.group(2)))
return tokens
مرحله ۳: نوشتن Parser 🔍
Parser یا تجزیهکننده نحوی، توکنها را به دستورات قابل اجرا تبدیل میکند.
def parser(tokens):
commands = []
for token in tokens:
if token[0] == "PRINT":
commands.append(("PRINT", token[1]))
elif token[0] == "SET":
commands.append(("SET", token[1], token[2]))
elif token[0] == "ADD":
commands.append(("ADD", token[1], token[2]))
return commands
مرحله ۴: اجرای دستورات 🏃♂️
Interpreter یا مفسر، دستورات را اجرا میکند.
def interpreter(commands):
variables = {}
for command in commands:
if command[0] == "PRINT":
print(command[1])
elif command[0] == "SET":
variables[command[1]] = eval(command[2], {}, variables)
elif command[0] == "ADD":
if command[1] in variables and command[2] in variables:
variables[command[1]] += variables[command[2]]
return variables
مرحله ۵: استفاده از مفسر 📟
حالا کد کامل برای مفسر خودمون رو داریم. میتونیم یک برنامه MiniLang رو اجرا کنیم.
code = """
SET x 5
SET y 10
ADD x y
PRINT x
"""
tokens = lexer(code)
commands = parser(tokens)
interpreter(commands)
این کد مقدار ۱۵ را چاپ خواهد کرد چون ابتدا مقدار ۵ به متغیر
x
و مقدار ۱۰ به متغیر y
اختصاص داده شده و سپس این دو مقدار با هم جمع شده و نتیجه چاپ میشود.[آموزش ساخت مفسر]
#Python #Programming #CodingTips #LearnPython #Interpreter #MiniLang
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍2
نکته مهم در پایتون: استفاده از Decorators
در پایتون، Decorators یا دکوراتورها یکی از ابزارهای قدرتمند و پرکاربرد هستند که به شما این امکان را میدهند تا عملکرد یک تابع یا متد را بدون تغییر در کد اصلی آن، تغییر دهید یا گسترش دهید. 🌟
دکوراتور چیست؟
دکوراتور یک تابع است که یک تابع دیگر را به عنوان ورودی میگیرد و یک تابع جدید را برمیگرداند که معمولاً عملکردی اضافی به تابع اصلی اضافه میکند. 🎩✨
مثال:
فرض کنید میخواهید زمان اجرای یک تابع را اندازهگیری کنید. با استفاده از دکوراتور، میتوانید این کار را به سادگی انجام دهید.
در این مثال:
1. دکوراتور
2. با استفاده از
3. هر بار که
کاربردهای دکوراتورها:
- ورود و خروج: برای ثبت ورود و خروج به توابع.
- کنترل دسترسی: برای مدیریت دسترسی به توابع.
- مدیریت منابع: برای مدیریت منابع مانند باز و بسته کردن فایلها.
- ارزیابی عملکرد: برای اندازهگیری عملکرد توابع.
به یاد داشته باشید: دکوراتورها میتوانند خوانایی و مدیریت کد را بهبود بخشند، به شرطی که به درستی و با دقت استفاده شوند. 🎯📈
🔻بیا اینجا تا بیشتر یاد بگیری
#Python #CodingTips #Decorators #Programming #PythonTips #PythonTricks #LearnPython
در پایتون، Decorators یا دکوراتورها یکی از ابزارهای قدرتمند و پرکاربرد هستند که به شما این امکان را میدهند تا عملکرد یک تابع یا متد را بدون تغییر در کد اصلی آن، تغییر دهید یا گسترش دهید. 🌟
دکوراتور چیست؟
دکوراتور یک تابع است که یک تابع دیگر را به عنوان ورودی میگیرد و یک تابع جدید را برمیگرداند که معمولاً عملکردی اضافی به تابع اصلی اضافه میکند. 🎩✨
مثال:
فرض کنید میخواهید زمان اجرای یک تابع را اندازهگیری کنید. با استفاده از دکوراتور، میتوانید این کار را به سادگی انجام دهید.
import time
def timing_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Elapsed time: {end_time - start_time:.4f} seconds")
return result
return wrapper
@timing_decorator
def my_function():
for _ in range(1000000):
pass
my_function()
در این مثال:
1. دکوراتور
timing_decorator
تعریف شده است که زمان اجرای تابع را اندازهگیری میکند.2. با استفاده از
@timing_decorator
، تابع my_function
با دکوراتور زمانبندی تزئین شده است.3. هر بار که
my_function
اجرا میشود، زمان اجرای آن اندازهگیری و چاپ میشود. 🕒💡کاربردهای دکوراتورها:
- ورود و خروج: برای ثبت ورود و خروج به توابع.
- کنترل دسترسی: برای مدیریت دسترسی به توابع.
- مدیریت منابع: برای مدیریت منابع مانند باز و بسته کردن فایلها.
- ارزیابی عملکرد: برای اندازهگیری عملکرد توابع.
به یاد داشته باشید: دکوراتورها میتوانند خوانایی و مدیریت کد را بهبود بخشند، به شرطی که به درستی و با دقت استفاده شوند. 🎯📈
🔻بیا اینجا تا بیشتر یاد بگیری
#Python #CodingTips #Decorators #Programming #PythonTips #PythonTricks #LearnPython
👍3
استفاده از کلاسها در پایتون: از سادهترین تا پیچیدهترین روشها
در این آموزش، ما به دو روش مختلف برای استفاده از کلاسها در پایتون خواهیم پرداخت: یک روش ساده و یک روش پیچیدهتر. 🌟
1. روش ساده: ایجاد یک کلاس برای مدیریت حساب بانکی
در این روش، یک کلاس ساده برای مدیریت یک حساب بانکی ایجاد میکنیم. این کلاس شامل ویژگیهای پایهای مانند موجودی و متدهای واریز و برداشت خواهد بود.
در این مثال:
1. کلاس
2. یک حساب بانکی ایجاد میشود و عملیات واریز و برداشت روی آن انجام میشود. 💰
2. روش پیچیده: ایجاد یک کلاس با ویژگیها و متدهای پیشرفته
در این روش، کلاس پیچیدهتری را برای مدیریت حساب بانکی ایجاد میکنیم که شامل ویژگیهای بیشتر و متدهای پیشرفتهتری است.
در این مثال:
1. کلاس
2. متدهای اضافی برای گرفتن موجودی (
3. عملیات واریز و برداشت به تراکنشها اضافه میشود و در صورت ناکافی بودن موجودی، تراکنش ناموفق ثبت میشود. 📜
با این دو مثال، شما میتوانید تفاوت بین استفاده ساده و پیچیده از کلاسها در پایتون را ببینید. بسته به نیاز پروژهتان، میتوانید روش مناسب را انتخاب کنید.
🔻اینجا کلیک کن تا بیشتر یاد بگیری
#Python #Classes #OOP #Programming #LearnPython #PythonClasses #BankAccount #AdvancedPython
در این آموزش، ما به دو روش مختلف برای استفاده از کلاسها در پایتون خواهیم پرداخت: یک روش ساده و یک روش پیچیدهتر. 🌟
1. روش ساده: ایجاد یک کلاس برای مدیریت حساب بانکی
در این روش، یک کلاس ساده برای مدیریت یک حساب بانکی ایجاد میکنیم. این کلاس شامل ویژگیهای پایهای مانند موجودی و متدهای واریز و برداشت خواهد بود.
# روش ساده برای استفاده از کلاسها در پایتون
class BankAccount:
def __init__(self, initial_balance=0):
self.balance = initial_balance
def deposit(self, amount):
self.balance += amount
print(f"Deposited {amount}, new balance is {self.balance}")
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
print(f"Withdrew {amount}, new balance is {self.balance}")
else:
print("Insufficient funds")
# ایجاد یک حساب بانکی با موجودی اولیه 100
account = BankAccount(100)
# واریز 50 به حساب
account.deposit(50)
# برداشت 30 از حساب
account.withdraw(30)
# تلاش برای برداشت 150 از حساب (موجودی کافی نیست)
account.withdraw(150)
در این مثال:
1. کلاس
BankAccount
تعریف شده است که دارای متد سازنinitit__)،
متد deposit
برای واریز پول و متد withdraw
برای برداشت پول است.2. یک حساب بانکی ایجاد میشود و عملیات واریز و برداشت روی آن انجام میشود. 💰
2. روش پیچیده: ایجاد یک کلاس با ویژگیها و متدهای پیشرفته
در این روش، کلاس پیچیدهتری را برای مدیریت حساب بانکی ایجاد میکنیم که شامل ویژگیهای بیشتر و متدهای پیشرفتهتری است.
# روش پیچیدهتر برای استفاده از کلاسها در پایتون
class BankAccount:
def __init__(self, initial_balance=0):
self.balance = initial_balance
self.transactions = []
def deposit(self, amount):
self.balance += amount
self.transactions.append(f"Deposited {amount}")
print(f"Deposited {amount}, new balance is {self.balance}")
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
self.transactions.append(f"Withdrew {amount}")
print(f"Withdrew {amount}, new balance is {self.balance}")
else:
self.transactions.append(f"Failed withdrawal of {amount}")
print("Insufficient funds")
def get_balance(self):
return self.balance
def get_transactions(self):
return self.transactions
# ایجاد یک حساب بانکی با موجودی اولیه 200
account = BankAccount(200)
# واریز 100 به حساب
account.deposit(100)
# برداشت 50 از حساب
account.withdraw(50)
# تلاش برای برداشت 300 از حساب (موجودی کافی نیست)
account.withdraw(300)
# نمایش موجودی حساب
print(f"Current balance is {account.get_balance()}")
# نمایش تراکنشها
print("Transactions:")
for transaction in account.get_transactions():
print(transaction)
در این مثال:
1. کلاس
BankAccount
دارای ویژگیهای اضافی مانند لیست تراکنشها (transactions
) است.2. متدهای اضافی برای گرفتن موجودی (
get_balance
) و نمایش تراکنشها (get_transactions
) اضافه شده است.3. عملیات واریز و برداشت به تراکنشها اضافه میشود و در صورت ناکافی بودن موجودی، تراکنش ناموفق ثبت میشود. 📜
با این دو مثال، شما میتوانید تفاوت بین استفاده ساده و پیچیده از کلاسها در پایتون را ببینید. بسته به نیاز پروژهتان، میتوانید روش مناسب را انتخاب کنید.
🔻اینجا کلیک کن تا بیشتر یاد بگیری
#Python #Classes #OOP #Programming #LearnPython #PythonClasses #BankAccount #AdvancedPython
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍5
آموزش اتصال به مرورگر با استفاده از Selenium در پایتون 🖥️🌐
در این آموزش، نحوه اتصال به مرورگر با استفاده از کتابخانه محبوب Selenium را یاد خواهیم گرفت. Selenium یک ابزار قدرتمند برای اتوماسیون مرورگر وب است که به شما امکان میدهد تا مرورگرهای وب را از طریق اسکریپتهای پایتون کنترل کنید.
مراحل نصب و راهاندازی Selenium
1. نصب Selenium:
برای نصب Selenium، از دستور pip استفاده کنید:
2. دانلود WebDriver:
Selenium برای کنترل مرورگر نیاز به WebDriver دارد. WebDriver مرورگر خاصی را که میخواهید اتوماسیون کنید، کنترل میکند. برای Chrome، میتوانید ChromeDriver را دانلود کنید:
- به صفحه [دانلود ChromeDriver] بروید.
- نسخه مناسب برای مرورگر Chrome خود را دانلود کنید.
- فایل دانلود شده را از حالت فشرده خارج کنید و آن را در یک مسیر قابل دسترسی قرار دهید.
مثال: باز کردن یک صفحه وب با استفاده از ChromeDriver
توضیحات کد:
1. وارد کردن کتابخانههای لازم:
-
-
-
2. مسیر ChromeDriver:
- مسیر ChromeDriver را که دانلود و استخراج کردید، مشخص کنید.
3. ایجاد یک نمونه از مرورگر Chrome:
-
4. باز کردن یک صفحه وب:
-
5. انتظار برای 5 ثانیه:
-
6. یافتن المان و ارسال کلید:
-
-
7. بستن مرورگر:
-
این کد یک مرورگر Chrome باز میکند، به صفحه
🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Selenium #WebAutomation #BrowserAutomation #LearnPython #Programming #WebDriver
در این آموزش، نحوه اتصال به مرورگر با استفاده از کتابخانه محبوب Selenium را یاد خواهیم گرفت. Selenium یک ابزار قدرتمند برای اتوماسیون مرورگر وب است که به شما امکان میدهد تا مرورگرهای وب را از طریق اسکریپتهای پایتون کنترل کنید.
مراحل نصب و راهاندازی Selenium
1. نصب Selenium:
برای نصب Selenium، از دستور pip استفاده کنید:
pip install selenium
2. دانلود WebDriver:
Selenium برای کنترل مرورگر نیاز به WebDriver دارد. WebDriver مرورگر خاصی را که میخواهید اتوماسیون کنید، کنترل میکند. برای Chrome، میتوانید ChromeDriver را دانلود کنید:
- به صفحه [دانلود ChromeDriver] بروید.
- نسخه مناسب برای مرورگر Chrome خود را دانلود کنید.
- فایل دانلود شده را از حالت فشرده خارج کنید و آن را در یک مسیر قابل دسترسی قرار دهید.
مثال: باز کردن یک صفحه وب با استفاده از ChromeDriver
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# مسیر ChromeDriver خود را مشخص کنید
chrome_driver_path = "/path/to/chromedriver"
# ایجاد یک نمونه از مرورگر Chrome
driver = webdriver.Chrome(executable_path=chrome_driver_path)
# باز کردن یک صفحه وب
driver.get("https://www.example.com")
# انتظار برای 5 ثانیه
time.sleep(5)
# یافتن المان توسط نام تگ و ارسال کلیدهای Enter
search_box = driver.find_element(By.TAG_NAME, "h1")
search_box.send_keys(Keys.ENTER)
# بستن مرورگر
driver.quit()
توضیحات کد:
1. وارد کردن کتابخانههای لازم:
-
webdriver
: برای کنترل مرورگر-
By
و Keys
: برای یافتن المانها و ارسال کلیدها-
time
: برای تاخیر زمانی2. مسیر ChromeDriver:
- مسیر ChromeDriver را که دانلود و استخراج کردید، مشخص کنید.
3. ایجاد یک نمونه از مرورگر Chrome:
-
webdriver.Chrome(executable_path=chrome_driver_path)
: یک نمونه از مرورگر Chrome ایجاد میکند.4. باز کردن یک صفحه وب:
-
driver.get("https://www.example.com")
: صفحه وب مورد نظر را باز میکند.5. انتظار برای 5 ثانیه:
-
time.sleep(5)
: برای 5 ثانیه منتظر میماند تا شما بتوانید صفحه را ببینید.6. یافتن المان و ارسال کلید:
-
driver.find_element(By.TAG_NAME, "h1")
: المان با نام تگ h1
را پیدا میکند.-
search_box.send_keys(Keys.ENTER)
: کلید Enter
را به المان ارسال میکند.7. بستن مرورگر:
-
driver.quit()
: مرورگر را میبندد.این کد یک مرورگر Chrome باز میکند، به صفحه
https://www.example.com
میرود، برای 5 ثانیه منتظر میماند و سپس کلید Enter را به اولین المان با نام تگ h1
ارسال میکند و در نهایت مرورگر را میبندد.🔻برای بیشتر یاد گرفتن بیا اینجا
#Python #Selenium #WebAutomation #BrowserAutomation #LearnPython #Programming #WebDriver
👍6