ازگر 3 میں سیلینیم کا تعارف

Introduction Selenium Python 3



سیلینیم ایک فریم ورک ہے جو ویب ایپلی کیشنز کی جانچ کے لیے استعمال ہوتا ہے۔ سیلینیم آپ کی مطلوبہ ویب سائٹ پر ٹیسٹ چلانے کے لیے براؤزر ، جیسے کروم یا فائر فاکس کو خودکار کرتا ہے۔ سیلینیم ایک بہت طاقتور ویب سکریپنگ ٹول بھی ہے۔ سیلینیم جاوا اسکرپٹ اور براؤزر کی تمام جدید خصوصیات کی حمایت کرتا ہے۔ ویب سائٹس سے معلومات نکالنے میں یہ ٹول بہت کارآمد ہے۔

یہ مضمون آپ کو دکھائے گا کہ آپ اپنے لینکس ڈسٹری بیوشن (یعنی اوبنٹو) پر سیلینیم کیسے ترتیب دیں ، نیز سیلینیم پائیتون 3 لائبریری کے ساتھ بنیادی ویب آٹومیشن اور ویب سکریپنگ کیسے کریں۔







ضروریات۔

اس آرٹیکل میں استعمال ہونے والے احکامات اور مثالوں کو آزمانے کے لیے ، آپ کے پاس درج ذیل ہونا ضروری ہے:



1) آپ کے کمپیوٹر پر ایک لینکس ڈسٹری بیوشن (ترجیحی طور پر اوبنٹو) انسٹال ہے۔
2) آپ کے کمپیوٹر پر ازگر 3 انسٹال ہے۔
3) آپ کے کمپیوٹر پر PIP 3 انسٹال ہے۔
4) آپ کے کمپیوٹر پر گوگل کروم یا فائر فاکس ویب براؤزر انسٹال ہے۔



آپ کو ان موضوعات پر بہت سے مضامین مل سکتے ہیں۔ LinuxHint.com . اگر آپ کو مزید مدد کی ضرورت ہو تو ان مضامین کو ضرور دیکھیں۔





پروجیکٹ کے لیے ازگر 3 ورچوئل ماحول کی تیاری

ازگر مجازی ماحول ایک الگ تھلگ ازگر پروجیکٹ ڈائریکٹری بنانے کے لیے استعمال کیا جاتا ہے۔ ازگر کے ماڈیولز جو آپ PIP کا استعمال کرتے ہوئے انسٹال کرتے ہیں وہ عالمی سطح کے بجائے صرف پروجیکٹ ڈائرکٹری میں انسٹال ہوں گے۔

ازگر۔ virtualenv ماڈیول ازگر ورچوئل ماحول کو منظم کرنے کے لیے استعمال کیا جاتا ہے۔



آپ ازگر انسٹال کر سکتے ہیں۔ virtualenv پی آئی پی 3 کا استعمال کرتے ہوئے عالمی سطح پر ماڈیول مندرجہ ذیل ہے۔

$ sudo pip3 install virtualenv

PIP3 تمام مطلوبہ ماڈیولز کو عالمی سطح پر ڈاؤن لوڈ اور انسٹال کرے گا۔

اس مقام پر ، ازگر۔ virtualenv ماڈیول عالمی سطح پر انسٹال ہونا چاہیے۔

پروجیکٹ ڈائرکٹری بنائیں۔ python-selenium-basic/ آپ کی موجودہ ورکنگ ڈائرکٹری میں ، مندرجہ ذیل:

$ mkdir -pv python-selenium-basic/drivers

اپنی نئی بنائی گئی پروجیکٹ ڈائرکٹری پر جائیں۔ python-selenium-basic/ ، حسب ذیل:

$سی ڈیpython-selenium-basic/

مندرجہ ذیل کمانڈ کے ساتھ اپنی پروجیکٹ ڈائرکٹری میں ازگر کا ورچوئل ماحول بنائیں۔

$ virtualenv.env

ازگر ورچوئل ماحول اب آپ کی پروجیکٹ ڈائرکٹری میں بنایا جانا چاہیے۔

مندرجہ ذیل کمانڈ کے ذریعے اپنی پروجیکٹ ڈائرکٹری میں ازگر ورچوئل ماحول کو چالو کریں۔

$ ماخذenv/bin/چالو کریں۔

جیسا کہ آپ دیکھ سکتے ہیں ، اس پروجیکٹ ڈائرکٹری کے لیے ازگر کا ورچوئل ماحول چالو ہے۔

سیلینیم ازگر لائبریری کی تنصیب

سیلینیم ازگر لائبریری سرکاری ازگر PyPI مخزن میں دستیاب ہے۔

آپ PIP 3 کا استعمال کرتے ہوئے اس لائبریری کو انسٹال کر سکتے ہیں ،

$ pip3 انسٹال سیلینیم۔

سیلینیم ازگر لائبریری اب انسٹال ہونی چاہیے۔

اب چونکہ سیلینیم ازگر لائبریری انسٹال ہے ، اگلی چیز جو آپ کو کرنا ہے وہ یہ ہے کہ اپنے پسندیدہ ویب براؤزر کے لیے ویب ڈرائیور انسٹال کریں۔ اس آرٹیکل میں ، میں آپ کو دکھاتا ہوں کہ سیلینیم کے لیے فائر فاکس اور کروم ویب ڈرائیور کیسے انسٹال کریں۔

فائر فاکس گیکو ڈرائیور انسٹال کرنا

فائر فاکس گیکو ڈرائیور آپ کو سیلینیم کا استعمال کرتے ہوئے فائر فاکس ویب براؤزر کو کنٹرول یا خودکار کرنے کی اجازت دیتا ہے۔

فائر فاکس گیکو ڈرائیور ڈاؤن لوڈ کرنے کے لیے ، ملاحظہ کریں۔ گٹ ہب نے موزیلا/گیکو ڈرایور کا صفحہ جاری کیا۔ ایک ویب براؤزر سے۔

جیسا کہ آپ دیکھ سکتے ہیں ، v0.26.0 فائر فاکس گیکو ڈرائیور کا تازہ ترین ورژن ہے جس وقت یہ مضمون لکھا گیا تھا۔

فائر فاکس گیکو ڈرائیور ڈاؤن لوڈ کرنے کے لیے ، تھوڑا سا نیچے سکرول کریں اور لینکس گیکو ڈرایور tar.gz آرکائیو پر کلک کریں ، جو آپریٹنگ سسٹم کے فن تعمیر پر منحصر ہے۔

اگر آپ 32 بٹ آپریٹنگ سسٹم استعمال کر رہے ہیں تو ، پر کلک کریں۔ geckodriver-v0.26.0-linux32.tar.gz لنک.

اگر آپ 64 بٹ آپریٹنگ سسٹم استعمال کر رہے ہیں تو ، پر کلک کریں۔ geckodriver-v0.26.0-linuxx64.tar.gz لنک.

میرے معاملے میں ، میں فائر فاکس گیکو ڈرائیور کا 64 بٹ ورژن ڈاؤن لوڈ کروں گا۔

آپ کا براؤزر آپ کو آرکائیو کو محفوظ کرنے کا اشارہ کرے۔ منتخب کریں۔ فہرست محفوظ کرو اور پھر کلک کریں ٹھیک ہے .

فائر فاکس گیکو ڈرائیور آرکائیو میں ڈاؤن لوڈ کیا جانا چاہیے۔ ~/ڈاؤن لوڈز۔ ڈائریکٹری

نکالیں geckodriver-v0.26.0-linux64.tar.gz سے محفوظ شدہ دستاویزات ~/ڈاؤن لوڈز۔ ڈائریکٹری کو ڈرائیور/ درج ذیل کمانڈ درج کرکے اپنے پروجیکٹ کی ڈائریکٹری:

$ٹار -xzf۔/ڈاؤن لوڈ/geckodriver-v0.26.0-linux64.tar.gz-سیڈرائیور/

فائر فاکس گیکو ڈرائیور آرکائیو نکالنے کے بعد ، ایک نیا۔ گیکو ڈرائیور میں بائنری فائل بنانی چاہیے۔ ڈرائیور/ اپنے پروجیکٹ کی ڈائریکٹری ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

سیلینیم فائر فاکس گیکو ڈرائیور کی جانچ

اس سیکشن میں ، میں آپ کو دکھاتا ہوں کہ آپ کا پہلا سیلینیم ازگر کا سکرپٹ کیسے ترتیب دیا جائے تاکہ یہ معلوم کیا جا سکے کہ فائر فاکس گیکو ڈرائیور کام کر رہا ہے یا نہیں۔

پہلے ، پروجیکٹ ڈائرکٹری کھولیں۔ python-selenium-basic/ اپنے پسندیدہ IDE یا ایڈیٹر کے ساتھ۔ اس مضمون میں ، میں بصری اسٹوڈیو کوڈ استعمال کروں گا۔

نیا ازگر اسکرپٹ بنائیں۔ ex01.py ، اور اسکرپٹ میں درج ذیل لائنیں ٹائپ کریں۔

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں
سے وقت درآمدنیند
براؤزر=ویب ڈرائیور.فائر فاکس(قابل عمل راہ۔='./drivers/geckodriver')
براؤزر.حاصل کریں('http://www.google.com')
نیند()
براؤزر.چھوڑ دو()

ایک بار جب آپ کام کرلیں تو ، محفوظ کریں۔ ex01.py ازگر کا سکرپٹ۔

میں اس مضمون کے بعد کے حصے میں کوڈ کی وضاحت کروں گا۔

درج ذیل لائن سیلینیم کو فائر فاکس گیکو ڈرائیور کو استعمال کرنے کے لیے تشکیل دیتی ہے۔ ڈرائیور/ آپ کے پروجیکٹ کی ڈائریکٹری

یہ جانچنے کے لیے کہ آیا فائر فاکس گیکو ڈرائیور سیلینیم کے ساتھ کام کر رہا ہے ، درج ذیل کو چلائیں۔ ex01.py ازگر کا اسکرپٹ:

$ python3 ex01۔py

فائر فاکس ویب براؤزر کو خود بخود گوگل ڈاٹ کام پر جانا چاہیے اور 5 سیکنڈ کے بعد خود کو بند کر دینا چاہیے۔ اگر ایسا ہوتا ہے ، تو سیلینیم فائر فاکس گیکو ڈرائیور صحیح طریقے سے کام کر رہا ہے۔

کروم ویب ڈرائیور انسٹال کرنا۔

کروم ویب ڈرائیور آپ کو سیلینیم کا استعمال کرتے ہوئے گوگل کروم ویب براؤزر کو کنٹرول یا خودکار کرنے کی اجازت دیتا ہے۔

آپ کو کروم ویب ڈرائیور کا وہی ورژن ڈاؤن لوڈ کرنا ہوگا جیسا کہ اپنے گوگل کروم ویب براؤزر کا ہے۔

اپنے گوگل کروم ویب براؤزر کا ورژن نمبر تلاش کرنے کے لیے ملاحظہ کریں۔ کروم: // ترتیبات/مدد۔ گوگل کروم میں ورژن نمبر میں ہونا چاہیے۔ کروم کے بارے میں۔ سیکشن ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

میرے معاملے میں ، ورژن نمبر ہے۔ 83.0.4103.116۔ . ورژن نمبر کے پہلے تین حصے ( 83.0.4103۔ ، میرے معاملے میں) کروم ویب ڈرائیور ورژن نمبر کے پہلے تین حصوں سے مماثل ہونا چاہیے۔

کروم ویب ڈرائیور ڈاؤن لوڈ کرنے کے لیے ، ملاحظہ کریں۔ آفیشل کروم ڈرائیور ڈاؤن لوڈ پیج۔ .

میں موجودہ ریلیز سیکشن میں ، گوگل کروم ویب براؤزر کی تازہ ترین ریلیز کے لیے کروم ویب ڈرائیور دستیاب ہوگا ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

اگر آپ گوگل کروم کا ورژن استعمال کر رہے ہیں تو اس میں نہیں ہے۔ موجودہ ریلیز سیکشن ، تھوڑا نیچے سکرول کریں ، اور آپ کو اپنا مطلوبہ ورژن ملنا چاہیے۔

ایک بار جب آپ صحیح کروم ویب ڈرائیور ورژن پر کلک کرتے ہیں ، تو یہ آپ کو درج ذیل صفحے پر لے جانا چاہیے۔ پر کلک کریں chromedriver_linux64.zip لنک ، جیسا کہ نیچے اسکرین شاٹ میں نوٹ کیا گیا ہے۔

کروم ویب ڈرائیور آرکائیو کو اب ڈاؤن لوڈ کرنا چاہیے۔

کروم ویب ڈرائیور آرکائیو کو اب میں ڈاؤن لوڈ کرنا چاہیے۔ ~/ڈاؤن لوڈز۔ ڈائریکٹری

آپ نکال سکتے ہیں chromedriver-linux64.zip سے محفوظ شدہ دستاویزات ~/ڈاؤن لوڈز۔ ڈائریکٹری کو ڈرائیور/ مندرجہ ذیل کمانڈ کے ساتھ اپنے پروجیکٹ کی ڈائریکٹری:

$ زپ۔/ڈاؤنلوڈز/chromedriver_linux64.زپ-d ڈرائیور/

ایک بار کروم ویب ڈرائیور آرکائیو نکالنے کے بعد ، ایک نیا۔ کروم ڈرائیور میں بائنری فائل بنانی چاہیے۔ ڈرائیور/ اپنے پروجیکٹ کی ڈائریکٹری ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

سیلینیم کروم ویب ڈرائیور کی جانچ

اس سیکشن میں ، میں آپ کو دکھاؤں گا کہ کس طرح کروم ویب ڈرائیور کام کر رہا ہے اس کی جانچ کے لیے اپنی پہلی سیلینیم ازگر اسکرپٹ کیسے ترتیب دی جائے۔

پہلے ، نیا ازگر اسکرپٹ بنائیں۔ ex02.py ، اور اسکرپٹ میں کوڈ کی درج ذیل لائنیں ٹائپ کریں۔

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں
سے وقت درآمدنیند
براؤزر=ویب ڈرائیور.کروم(قابل عمل راہ۔='./drivers/chromedriver')
براؤزر.حاصل کریں('http://www.google.com')
نیند()
براؤزر.چھوڑ دو()

ایک بار جب آپ کام کرلیں تو ، محفوظ کریں۔ ex02.py ازگر کا سکرپٹ۔

میں اس مضمون کے بعد کے حصے میں کوڈ کی وضاحت کروں گا۔

مندرجہ ذیل لائن سیلینیم کو کروم ویب ڈرائیور کو استعمال کرنے کے لیے تشکیل دیتی ہے۔ ڈرائیور/ آپ کے پروجیکٹ کی ڈائریکٹری

یہ جانچنے کے لیے کہ آیا کروم ویب ڈرائیور سیلینیم کے ساتھ کام کر رہا ہے ، چلائیں۔ ex02.py ازگر کا اسکرپٹ ، حسب ذیل:

$ python3 ex01۔py

گوگل کروم ویب براؤزر کو خود بخود گوگل ڈاٹ کام پر جانا چاہیے اور 5 سیکنڈ کے بعد خود کو بند کر دینا چاہیے۔ اگر ایسا ہوتا ہے ، تو سیلینیم فائر فاکس گیکو ڈرائیور صحیح طریقے سے کام کر رہا ہے۔

سیلینیم کے ساتھ ویب سکریپنگ کی بنیادی باتیں۔

میں اب سے فائر فاکس ویب براؤزر استعمال کروں گا۔ اگر آپ چاہیں تو کروم بھی استعمال کر سکتے ہیں۔

ایک بنیادی سیلینیم ازگر کا سکرپٹ نیچے اسکرین شاٹ میں دکھائے گئے اسکرپٹ کی طرح نظر آنا چاہیے۔

سب سے پہلے ، سیلینیم درآمد کریں۔ ویب ڈرائیور سے سیلینیم ماڈیول

اگلا ، درآمد کریں۔ چابیاں سے selenium.webdriver.common.keys . اس سے آپ کو براؤزر پر کی بورڈ کلیدی پریس بھیجنے میں مدد ملے گی جسے آپ سیلینیم سے خودکار کر رہے ہیں۔

مندرجہ ذیل لائن ایک بناتی ہے۔ براؤزر فائر فاکس گیکو ڈرائیور (ویب ڈرائیور) کا استعمال کرتے ہوئے فائر فاکس ویب براؤزر کے لیے اعتراض۔ آپ اس شے کا استعمال کرتے ہوئے فائر فاکس براؤزر کی کارروائیوں کو کنٹرول کر سکتے ہیں۔

ویب سائٹ یا یو آر ایل لوڈ کرنے کے لیے (میں ویب سائٹ لوڈ کروں گا۔ https://www.duckduckgo.com۔ ) ، کال کریں۔ حاصل کریں () کا طریقہ براؤزر اپنے فائر فاکس براؤزر پر اعتراض کریں۔

سیلینیم کا استعمال کرتے ہوئے ، آپ اپنے ٹیسٹ لکھ سکتے ہیں ، ویب سکریپنگ انجام دے سکتے ہیں ، اور آخر میں ، چھوڑ دو () کا طریقہ براؤزر چیز.

اوپر سیلینیم ازگر اسکرپٹ کی بنیادی ترتیب ہے۔ آپ یہ لائنیں اپنے تمام سیلینیم ازگر کے سکرپٹ میں لکھ رہے ہوں گے۔

مثال 1: ویب پیج کا ٹائٹل پرنٹ کرنا۔

سیلینیم کا استعمال کرتے ہوئے یہ سب سے آسان مثال ہوگی۔ اس مثال میں ، ہم جس ویب پیج پر جائیں گے اس کا عنوان چھاپیں گے۔

نئی فائل بنائیں۔ ex04.py اور اس میں کوڈ کی درج ذیل لائنیں ٹائپ کریں۔

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں

براؤزر=ویب ڈرائیور.فائر فاکس(قابل عمل راہ۔='./drivers/geckodriver')

براؤزر.حاصل کریں('https://www.duckduckgo.com')
پرنٹ کریں('عنوان:٪ s'٪ براؤزرعنوان)
براؤزر.چھوڑ دو()

ایک بار جب آپ کام کرلیں ، فائل کو محفوظ کریں۔

یہاں ، browser.title ملاحظہ کردہ ویب پیج کے عنوان تک رسائی حاصل کرنے کے لیے استعمال کیا جاتا ہے۔ پرنٹ کریں() فنکشن کو کنسول میں ٹائٹل پرنٹ کرنے کے لیے استعمال کیا جائے گا۔

چلانے کے بعد ex04.py اسکرپٹ ، یہ ہونا چاہئے:

1) فائر فاکس کھولیں۔
2) اپنا مطلوبہ ویب پیج لوڈ کریں۔
3) صفحے کا عنوان حاصل کریں۔
4) کنسول پر عنوان پرنٹ کریں۔
5) اور آخر میں ، براؤزر بند کریں۔

جیسا کہ آپ دیکھ سکتے ہیں ، ex04.py اسکرپٹ نے ویب پیج کا ٹائٹل کنسول میں اچھی طرح چھاپا ہے۔

$ python3 ex04۔py

مثال 2: متعدد ویب صفحات کے عنوانات پرنٹ کرنا۔

پچھلی مثال کی طرح ، آپ ازگر لوپ کا استعمال کرتے ہوئے متعدد ویب صفحات کے عنوان کو پرنٹ کرنے کے لیے ایک ہی طریقہ استعمال کرسکتے ہیں۔

یہ سمجھنے کے لیے کہ یہ کیسے کام کرتا ہے ، نیا ازگر اسکرپٹ بنائیں۔ ex05.py اور اسکرپٹ میں کوڈ کی درج ذیل لائنیں ٹائپ کریں:

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں

براؤزر=ویب ڈرائیور.فائر فاکس(قابل عمل راہ۔='./drivers/geckodriver')


یو آر ایل= ['https://www.duckduckgo.com'، 'https://linuxhint.com'، 'https://yahoo.com']
کے لیےurlمیںurls:
براؤزر.حاصل کریں(url)
پرنٹ کریں('عنوان:٪ s'٪ براؤزرعنوان)
براؤزر.چھوڑ دو()

ایک بار جب آپ کام کرلیں ، ازگر اسکرپٹ کو محفوظ کریں۔ ex05.py .

یہاں ، یو آر ایل فہرست ہر ویب پیج کا یو آر ایل رکھتی ہے۔

TO کے لیے لوپ کے ذریعے تکرار کے لیے استعمال کیا جاتا ہے۔ یو آر ایل اشیاء کی فہرست.

ہر تکرار پر ، سیلینیم براؤزر کو کہتا ہے کہ وزٹ کریں۔ url اور ویب پیج کا ٹائٹل حاصل کریں۔ ایک بار سیلینیم نے ویب پیج کا ٹائٹل نکال لیا ہے ، اسے کنسول میں چھاپا جاتا ہے۔

ازگر اسکرپٹ چلائیں۔ ex05.py ، اور آپ کو ہر ویب پیج کا عنوان دیکھنا چاہیے یو آر ایل فہرست

$ python3 ex05۔py

یہ ایک مثال ہے کہ سیلینیم ایک سے زیادہ ویب صفحات یا ویب سائٹس کے ساتھ ایک ہی کام کیسے انجام دے سکتا ہے۔

مثال 3: ویب پیج سے ڈیٹا نکالنا۔

اس مثال میں ، میں آپ کو سیلینیم کا استعمال کرتے ہوئے ویب صفحات سے ڈیٹا نکالنے کی بنیادی باتیں دکھاتا ہوں۔ اسے ویب سکریپنگ بھی کہا جاتا ہے۔

سب سے پہلے ، ملاحظہ کریں بے ترتیب. org فائر فاکس سے لنک. صفحہ ایک بے ترتیب تار پیدا کرے ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

سیلینیم کا استعمال کرتے ہوئے بے ترتیب سٹرنگ ڈیٹا نکالنے کے ل you ، آپ کو ڈیٹا کی HTML نمائندگی کو بھی جاننا ہوگا۔

ایچ ٹی ایم ایل میں بے ترتیب سٹرنگ ڈیٹا کی نمائندگی کرنے کے لیے ، بے ترتیب سٹرنگ ڈیٹا کو منتخب کریں اور دائیں ماؤس بٹن (RMB) دبائیں اور پر کلک کریں عنصر (Q) کا معائنہ کریں ، جیسا کہ نیچے اسکرین شاٹ میں نوٹ کیا گیا ہے۔

ڈیٹا کی ایچ ٹی ایم ایل نمائندگی ظاہر ہونی چاہیے۔ انسپکٹر ٹیب ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

آپ پر بھی کلک کر سکتے ہیں۔ معائنہ آئیکن ( ) صفحے سے ڈیٹا کا معائنہ کرنا۔

انسپیکٹ آئیکن () پر کلک کریں اور بے ترتیب سٹرنگ ڈیٹا پر گھومیں جسے آپ نکالنا چاہتے ہیں۔ ڈیٹا کی ایچ ٹی ایم ایل نمائندگی پہلے کی طرح ظاہر ہونی چاہیے۔

جیسا کہ آپ دیکھ سکتے ہیں ، بے ترتیب سٹرنگ ڈیٹا HTML میں لپٹا ہوا ہے۔ کے لیے ٹیگ اور کلاس پر مشتمل ہے۔ ڈیٹا .

اب جب کہ ہم اس ڈیٹا کی ایچ ٹی ایم ایل نمائندگی کو جانتے ہیں جسے ہم نکالنا چاہتے ہیں ، ہم سیلینیم کا استعمال کرتے ہوئے ڈیٹا نکالنے کے لیے ایک ازگر اسکرپٹ بنائیں گے۔

نیا ازگر اسکرپٹ بنائیں۔ ex06.py اور اسکرپٹ میں کوڈ کی درج ذیل لائنیں ٹائپ کریں۔

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں

براؤزر=ویب ڈرائیور.فائر فاکس(قابل عمل راہ۔='./drivers/geckodriver')

براؤزر.حاصل کریں('https://www.random.org/strings/؟num=1&len=20&digits
= on & upperalpha = on & loweralpha = on & unique = on & format = html & rnd = new '
)

ڈیٹا عنصر=براؤزر.find_element_by_css_selector('پری ڈاٹا')
پرنٹ کریں(ڈیٹا عنصر.متن)
براؤزر.چھوڑ دو()

ایک بار جب آپ کام کرلیں تو ، محفوظ کریں۔ ex06.py ازگر کا سکرپٹ۔

یہاں ، browser.get () طریقہ فائر فاکس براؤزر میں ویب پیج لوڈ کرتا ہے۔

کی browser.find_element_by_css_selector () طریقہ مخصوص عنصر کے لیے صفحے کا HTML کوڈ تلاش کرتا ہے اور اسے واپس کرتا ہے۔

اس صورت میں ، عنصر ہوگا۔ پری ڈیٹا ، کے لیے ٹیگ جس میں کلاس کا نام ہے۔ ڈیٹا .

ذیل میں ، پری ڈیٹا عنصر کو ذخیرہ کیا گیا ہے ڈیٹا عنصر متغیر

اس کے بعد اسکرپٹ منتخب کردہ کے متن کے مواد کو پرنٹ کرتا ہے۔ پری ڈیٹا عنصر

اگر آپ چلاتے ہیں ex06.py ازگر اسکرپٹ ، اسے ویب پیج سے بے ترتیب سٹرنگ ڈیٹا نکالنا چاہئے ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

$ python3 ex06۔py

جیسا کہ آپ دیکھ سکتے ہیں ، ہر بار جب میں چلاتا ہوں۔ ex06.py ازگر اسکرپٹ ، یہ ویب پیج سے ایک مختلف بے ترتیب سٹرنگ ڈیٹا نکالتا ہے۔

مثال 4: ویب پیج سے ڈیٹا کی فہرست نکالنا۔

پچھلی مثال نے آپ کو دکھایا کہ سیلینیم کا استعمال کرتے ہوئے کسی ویب پیج سے ڈیٹا کا ایک واحد عنصر کیسے نکالا جائے۔ اس مثال میں ، میں آپ کو دکھاتا ہوں کہ ویب صفحے سے ڈیٹا کی فہرست نکالنے کے لیے سیلینیم کا استعمال کیسے کریں۔

سب سے پہلے ، ملاحظہ کریں random-name-generator.info اپنے فائر فاکس ویب براؤزر سے۔ جب بھی آپ صفحہ دوبارہ لوڈ کریں گے یہ ویب سائٹ دس بے ترتیب نام پیدا کرے گی ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔ ہمارا مقصد سیلینیم کا استعمال کرتے ہوئے ان بے ترتیب ناموں کو نکالنا ہے۔

اگر آپ نام کی فہرست کا زیادہ قریب سے معائنہ کرتے ہیں تو آپ دیکھ سکتے ہیں کہ یہ ایک آرڈر شدہ فہرست ہے ( مرنا ٹیگ). کی مرنا ٹیگ میں کلاس کا نام بھی شامل ہے۔ ناموں کی فہرست . بے ترتیب ناموں میں سے ہر ایک کو فہرست آئٹم کے طور پر پیش کیا جاتا ہے ( میں ٹیگ) کے اندر مرنا ٹیگ.

ان بے ترتیب ناموں کو نکالنے کے لیے ، ازگر کا نیا اسکرپٹ بنائیں۔ ex07.py اور اسکرپٹ میں کوڈ کی درج ذیل لائنیں ٹائپ کریں۔

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں

براؤزر=ویب ڈرائیور.فائر فاکس(قابل عمل راہ۔='./drivers/geckodriver')

براؤزر.حاصل کریں('http://random-name-generator.info/')

ناموں کی فہرست=براؤزر.find_elements_by_css_selector('ol.nameList li')

کے لیےناممیںناموں کی فہرست:
پرنٹ کریں(ناممتن)

براؤزر.چھوڑ دو()

ایک بار جب آپ کام کرلیں تو ، محفوظ کریں۔ ex07.py ازگر کا سکرپٹ۔

یہاں ، browser.get () طریقہ فائر فاکس براؤزر میں بے ترتیب نام جنریٹر ویب پیج لوڈ کرتا ہے۔

کی browser.find_elements_by_css_selector () طریقہ سی ایس ایس سلیکٹر کا استعمال کرتا ہے۔ ol.nameList li سب کو تلاش کرنے کے لئے میں کے اندر عناصر مرنا کلاس کا نام رکھنے والا ٹیگ۔ ناموں کی فہرست . میں نے تمام منتخب کردہ کو محفوظ کیا ہے۔ میں میں عناصر ناموں کی فہرست متغیر

TO کے لیے لوپ کے ذریعے تکرار کے لیے استعمال کیا جاتا ہے۔ ناموں کی فہرست کی فہرست میں عناصر. ہر تکرار میں ، کا مواد۔ میں عنصر کنسول پر چھپا ہوا ہے۔

اگر آپ چلاتے ہیں ex07.py ازگر سکرپٹ ، یہ ویب صفحہ سے تمام بے ترتیب نام نکالے گا اور اسے اسکرین پر پرنٹ کرے گا ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

$ python3 ex07۔py

اگر آپ دوسری بار اسکرپٹ چلاتے ہیں تو اسے بے ترتیب صارف ناموں کی ایک نئی فہرست واپس کرنی چاہیے ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

مثال 5: فارم جمع کرنا - DuckDuckGo پر تلاش کرنا۔

یہ مثال پہلی مثال کی طرح آسان ہے۔ اس مثال میں ، میں DuckDuckGo سرچ انجن کا دورہ کروں گا اور اصطلاح تلاش کروں گا۔ سیلینیم ہیڈکوارٹر سیلینیم کا استعمال

پہلے ، وزٹ کریں۔ DuckDuckGo سرچ انجن۔ فائر فاکس ویب براؤزر سے۔

اگر آپ سرچ ان پٹ فیلڈ کا معائنہ کرتے ہیں تو اس میں آئی ڈی ہونی چاہیے۔ search_form_input_homepage ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

اب ، نیا ازگر اسکرپٹ بنائیں۔ ex08.py اور اسکرپٹ میں کوڈ کی درج ذیل لائنیں ٹائپ کریں۔

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں
براؤزر=ویب ڈرائیور.فائر فاکس(قابل عمل راہ۔='./drivers/geckodriver')
براؤزر.حاصل کریں('https://duckduckgo.com/')
سرچ ان پٹ۔=براؤزر.find_element_by_id('search_form_input_homepage')
سرچ ان پٹ۔send_keys(سیلینیم ہیڈکوارٹر+ چابیاںداخل کریں)

ایک بار جب آپ کام کرلیں تو ، محفوظ کریں۔ ex08.py ازگر کا سکرپٹ۔

یہاں ، browser.get () طریقہ فائر فاکس ویب براؤزر میں DuckDuckGo سرچ انجن کا ہوم پیج لوڈ کرتا ہے۔

کی browser.find_element_by_id () طریقہ ID کے ساتھ ان پٹ عنصر کو منتخب کرتا ہے۔ search_form_input_homepage اور اسے اس میں محفوظ کرتا ہے۔ سرچ ان پٹ۔ متغیر

کی searchInput.send_keys () طریقہ ان پٹ فیلڈ میں کلیدی پریس ڈیٹا بھیجنے کے لیے استعمال کیا جاتا ہے۔ اس مثال میں ، یہ تار بھیجتا ہے۔ سیلینیم ہیڈکوارٹر ، اور انٹر بٹن کا استعمال کرتے ہوئے دبایا جاتا ہے۔ کلیدیں۔ مسلسل

جیسے ہی DuckDuckGo سرچ انجن کو Enter کی دبائیں ( کلیدیں۔ ) ، یہ تلاش کرتا ہے اور نتیجہ دکھاتا ہے۔

چلائیں ex08.py ازگر کا اسکرپٹ ، حسب ذیل:

$ python3 ex08۔py

جیسا کہ آپ دیکھ سکتے ہیں ، فائر فاکس ویب براؤزر نے DuckDuckGo سرچ انجن کا دورہ کیا۔

یہ خود بخود ٹائپ ہو گیا۔ سیلینیم ہیڈکوارٹر سرچ ٹیکسٹ باکس میں۔

جیسے ہی براؤزر کو انٹر کی بٹن ملی ( کلیدیں۔ ) ، اس نے سرچ رزلٹ دکھایا۔

مثال 6: W3Schools.com پر فارم جمع کرنا۔

مثال 5 میں ، DuckDuckGo سرچ انجن فارم جمع کرنا آسان تھا۔ آپ کو صرف انٹر بٹن دبانا تھا۔ لیکن یہ تمام فارم جمع کرانے کا معاملہ نہیں ہوگا۔ اس مثال میں ، میں آپ کو زیادہ پیچیدہ فارم ہینڈلنگ دکھاؤں گا۔

سب سے پہلے ، ملاحظہ کریں W3Schools.com کا HTML فارم پیج۔ فائر فاکس ویب براؤزر سے۔ ایک بار صفحہ لوڈ ہونے کے بعد ، آپ کو ایک مثال فارم دیکھنا چاہیے۔ یہ وہ فارم ہے جو ہم اس مثال میں جمع کرائیں گے۔

اگر آپ فارم کا معائنہ کرتے ہیں تو پہلا نام ان پٹ فیلڈ میں آئی ڈی ہونا چاہیے۔ نام ، آخری نام ان پٹ فیلڈ میں آئی ڈی ہونا چاہیے۔ نام ، اور جمع کرانے کا بٹن۔ ہونا چاہیے قسم جمع کرائیں ، جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

سیلینیم کا استعمال کرتے ہوئے اس فارم کو جمع کرنے کے لیے ، نیا ازگر کا سکرپٹ بنائیں۔ ex09.py اور اسکرپٹ میں کوڈ کی درج ذیل لائنیں ٹائپ کریں۔

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں
براؤزر=ویب ڈرائیور.فائر فاکس(قابل عمل راہ۔='./drivers/geckodriver')
براؤزر.حاصل کریں('https://www.w3schools.com/html/html_forms.asp')
نام=براؤزر.find_element_by_id('نام')
نامصاف()
نامsend_keys(شہریار)
نام=براؤزر.find_element_by_id('نام')
نامصاف()
نامsend_keys('شوون')
جمع کرائیں بٹن=براؤزر.find_element_by_css_selector('ان پٹ [ٹائپ =' جمع ']')
جمع کرائیں بٹن.send_keys(چابیاںداخل کریں)

ایک بار جب آپ کام کرلیں تو ، محفوظ کریں۔ ex09.py ازگر کا سکرپٹ۔

یہاں ، browser.get () طریقہ فائر فاکس ویب براؤزر میں W3schools HTML فارم پیج کھولتا ہے۔

کی browser.find_element_by_id () طریقہ ID کے ذریعہ ان پٹ فیلڈز کو ڈھونڈتا ہے۔ نام اور نام اور یہ انہیں میں ذخیرہ کرتا ہے نام اور نام بالترتیب متغیرات

کی fname.clear () اور lname.clear () پہلے سے طے شدہ نام صاف کرنے کے طریقے (جان) نام قدر اور آخری نام (Doe) نام ان پٹ فیلڈز کی قدر

کی fname.send_keys () اور lname.send_keys () طریقوں کی قسم شہریار۔ اور شوون۔ میں پہلا نام اور آخری نام بالترتیب ان پٹ فیلڈز۔

کی browser.find_element_by_css_selector () طریقہ منتخب کرتا ہے جمع کرانے کا بٹن۔ فارم کی اور اسے میں ذخیرہ کرتا ہے جمع کرائیں بٹن متغیر

کی submitButton.send_keys () طریقہ کار انٹر بٹن دباتا ہے ( کلیدیں۔ ) کرنے کے لئے جمع کرانے کا بٹن۔ شکل کا. یہ عمل فارم جمع کراتا ہے۔

چلائیں ex09.py ازگر کا اسکرپٹ ، حسب ذیل:

$ python3 ex09۔py

جیسا کہ آپ دیکھ سکتے ہیں ، فارم خود بخود درست معلومات کے ساتھ جمع کر دیا گیا ہے۔

نتیجہ

یہ آرٹیکل آپ کو ازگر 3 میں سیلینیم براؤزر ٹیسٹنگ ، ویب آٹومیشن ، اور ویب سکریپنگ لائبریریوں کے ساتھ شروع کرنے میں مدد کرنی چاہیے۔ سرکاری سیلینیم ازگر دستاویزات .