سیلینیم کے ساتھ متن کے ذریعہ عنصر کیسے تلاش کریں۔

How Find Element Text With Selenium



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

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







شرائط:

اس آرٹیکل کے احکامات اور مثالوں کو آزمانے کے لیے ، آپ کے پاس ہونا چاہیے:



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

ضروریات 4 ، 5 اور 6 کو پورا کرنے کے لیے ، میرا مضمون پڑھیں۔ ازگر 3 میں سیلینیم کا تعارف .



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





پروجیکٹ ڈائرکٹری قائم کرنا:

ہر چیز کو منظم رکھنے کے لیے ، ایک نئی پروجیکٹ ڈائرکٹری بنائیں۔ سیلینیم ٹیکسٹ سلیکٹ/ حسب ذیل:

$mkdir -پی ویسیلینیم ٹیکسٹ سلیکٹ/ڈرائیور



پر جائیں۔ سیلینیم ٹیکسٹ سلیکٹ/ پروجیکٹ ڈائریکٹری مندرجہ ذیل ہے:

$سی ڈیسیلینیم ٹیکسٹ سلیکٹ/

پروجیکٹ ڈائرکٹری میں ازگر کا ورچوئل ماحول بنائیں:

$virtualenv .venv

ورچوئل ماحول کو مندرجہ ذیل کے طور پر چالو کریں۔

$ذریعہ.venv/ہوں/محرک کریں

PIP3 کا استعمال کرتے ہوئے سیلینیم ازگر لائبریری انسٹال کریں:

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

تمام مطلوبہ ویب ڈرائیور کو ڈاؤن لوڈ اور انسٹال کریں۔ ڈرائیور/ منصوبے کی ڈائریکٹری میں نے اپنے مضمون میں ویب ڈرائیوروں کو ڈاؤن لوڈ اور انسٹال کرنے کے عمل کی وضاحت کی ہے۔ ازگر 3 میں سیلینیم کا تعارف .

متن کے ذریعے عناصر کی تلاش:

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

میں ویب صفحہ کے عناصر کو متن کے ذریعے منتخب کرنے ، ویب صفحہ سے روابط منتخب کرنے کی آسان مثال سے شروع کرنے جا رہا ہوں۔

facebook.com کے لاگ ان پیج میں ، ہمارے پاس ایک لنک ہے۔ اکاؤنٹ بھول گئے؟ جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔ آئیے اس لنک کو سیلینیم کے ساتھ منتخب کریں۔

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

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں
سےسیلینیمویب ڈرائیور.عام.کی طرف سے درآمدکی طرف سے
سے وقت درآمدنیند
براؤزر=ویب ڈرائیور.کروم(قابل عمل راہ۔='./drivers/chromedriver')
براؤزر.حاصل کریں('https://www.facebook.com/')
اکاؤنٹ لنک بھول گیا۔=براؤزر.عنصر تلاش کریں۔(کی طرف سےXPATH۔، '
//*[text () = 'اکاؤنٹ بھول گئے؟'] '
)
اکاؤنٹ لنک بھول گیا۔send_keys(چابیاںداخل کریں)

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

لائن 1-4 ازگر پروگرام میں تمام مطلوبہ اجزاء درآمد کرتی ہے۔

لائن 6 ایک کروم بناتی ہے۔ براؤزر استعمال کرتے ہوئے اعتراض کروم ڈرائیور سے بائنری ڈرائیور/ منصوبے کی ڈائریکٹری

لائن 8 براؤزر سے کہتی ہے کہ وہ ویب سائٹ facebook.com کو لوڈ کرے۔

لائن 10 وہ لنک ڈھونڈتی ہے جس میں متن ہے۔ اکاؤنٹ بھول گئے؟ XPath سلیکٹر کا استعمال۔ اس کے لیے ، میں نے XPath سلیکٹر استعمال کیا ہے۔ //*[text () = 'اکاؤنٹ بھول گئے؟'] .

XPath سلیکٹر سے شروع ہوتا ہے۔ // ، جس کا مطلب ہے کہ عنصر صفحے پر کہیں بھی ہو سکتا ہے۔ کی * علامت سیلینیم کو بتاتی ہے کہ کوئی ٹیگ منتخب کریں ( کو یا p یا دورانیہ ، وغیرہ) جو مربع بریکٹ کے اندر کی حالت سے میل کھاتا ہے۔ [] . یہاں ، شرط یہ ہے کہ ، عنصر متن کے برابر ہے اکاؤنٹ بھول گئے؟

کی متن () XPath فنکشن کسی عنصر کا متن حاصل کرنے کے لیے استعمال ہوتا ہے۔

مثال کے طور پر، متن () واپسی ہیلو ورلڈ۔ اگر یہ درج ذیل HTML عنصر کو منتخب کرتا ہے۔

< کو href='http://dummysite.com'>ہیلو ورلڈ۔</ کو >

لائن 11 بھیجتا ہے۔ پر کلید دبائیں اکاؤنٹ بھول گئے؟ لنک.

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

$ ازگر ex01۔py

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

کی اکاؤنٹ بھول گئے؟ لنک براؤزر کو مندرجہ ذیل صفحے پر لے جاتا ہے۔

اسی طرح ، آپ آسانی سے ان عناصر کو تلاش کرسکتے ہیں جن میں آپ کی مطلوبہ وصف کی قیمت ہے۔

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

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

سےسیلینیمدرآمدویب ڈرائیور
سےسیلینیمویب ڈرائیور.عام.چابیاں درآمدچابیاں
سےسیلینیمویب ڈرائیور.عام.کی طرف سے درآمدکی طرف سے
سے وقت درآمدنیند
براؤزر=ویب ڈرائیور.کروم(قابل عمل راہ۔='./drivers/chromedriver')
براؤزر.حاصل کریں('https://www.facebook.com/')
نیند()
ای میل ان پٹ۔=براؤزر.عنصر تلاش کریں۔(کی طرف سےXPATH۔، '// ان پٹ [@id =' email ']')
پاس ورڈ ان پٹ۔=براؤزر.عنصر تلاش کریں۔(کی طرف سےXPATH۔، '// ان پٹ [@id =' pass ']')
لاگ ان بٹن=براؤزر.عنصر تلاش کریں۔(کی طرف سےXPATH۔، '//*[@قدر =' لاگ ان ']')
ای میل ان پٹ۔send_keys('[ای میل محفوظ]')
نیند()
پاس ورڈ ان پٹ۔send_keys('خفیہ پاس')
نیند()
لاگ ان بٹن.send_keys(چابیاںداخل کریں)

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

لائن 1-4 تمام مطلوبہ اجزاء درآمد کرتی ہے۔

لائن 6 ایک کروم بناتی ہے۔ براؤزر استعمال کرتے ہوئے اعتراض کروم ڈرائیور سے بائنری ڈرائیور/ منصوبے کی ڈائریکٹری

لائن 8 براؤزر سے کہتی ہے کہ وہ ویب سائٹ facebook.com کو لوڈ کرے۔

ایک بار جب آپ اسکرپٹ چلاتے ہیں تو سب کچھ بہت تیزی سے ہوتا ہے۔ تو ، میں نے استعمال کیا ہے نیند () کئی بار کام کریں ex02.py براؤزر کمانڈ میں تاخیر کے لیے۔ اس طرح ، آپ دیکھ سکتے ہیں کہ ہر چیز کیسے کام کرتی ہے۔

لائن 11 ای میل ان پٹ ٹیکسٹ باکس کو ڈھونڈتی ہے اور اس میں عنصر کا حوالہ محفوظ کرتی ہے۔ ای میل ان پٹ۔ متغیر

لائن 12 ای میل ان پٹ ٹیکسٹ باکس کو ڈھونڈتی ہے اور میں عنصر کا حوالہ محفوظ کرتی ہے۔ ای میل ان پٹ۔ متغیر

لائن 13 ان پٹ عنصر کو تلاش کرتی ہے جس میں وصف ہے۔ قدر کی لاگ ان کریں XPath سلیکٹر کا استعمال کرتے ہوئے۔ اس کے لیے ، میں نے XPath سلیکٹر استعمال کیا ہے۔ //*[@قدر = 'لاگ ان'] .

XPath سلیکٹر سے شروع ہوتا ہے۔ // . اس کا مطلب ہے کہ عنصر صفحے پر کہیں بھی ہو سکتا ہے۔ کی * علامت سیلینیم کو بتاتی ہے کہ کوئی ٹیگ منتخب کریں ( ان پٹ یا p یا دورانیہ ، وغیرہ) جو مربع بریکٹ کے اندر کی حالت سے میل کھاتا ہے۔ [] . یہاں ، شرط ہے ، عنصر وصف۔ قدر مساوی ہے لاگ ان کریں .

لائن 15 ان پٹ بھیجتی ہے۔[ای میل محفوظ]ای میل ان پٹ ٹیکسٹ باکس میں ، اور لائن 16 اگلے آپریشن میں تاخیر کرتی ہے۔

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

لائن 21 بھیجتا ہے۔ لاگ ان بٹن پر کلید دبائیں۔

چلائیں ex02.py ازگر کی اسکرپٹ درج ذیل کمانڈ کے ساتھ:

$ python3 ex02۔py

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

پھر صفحہ مندرجہ ذیل صفحے پر جاتا ہے۔

جزوی متن کے ذریعے عناصر کی تلاش:

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

مثال میں ، ex01.py ، میں نے لنک عنصر کی تلاش کی ہے جس میں متن ہے۔ اکاؤنٹ بھول گئے؟ . آپ جزوی متن کا استعمال کرتے ہوئے اسی لنک عنصر کو تلاش کرسکتے ہیں۔ بھول گیا اے سی سی . ایسا کرنے کے لیے ، آپ استعمال کر سکتے ہیں مشتمل() XPath فنکشن ، جیسا کہ لائن 10 میں دکھایا گیا ہے۔ ex03.py . باقی کوڈ ایک جیسے ہیں۔ ex01.py . نتائج ایک جیسے ہوں گے۔

لائن 10 میں۔ ex03.py ، انتخاب کی شرط نے استعمال کیا۔ پر مشتمل ہے (ماخذ ، متن) XPath فنکشن۔ یہ فنکشن 2 دلائل لیتا ہے ، ذریعہ، اور متن .

کی مشتمل() فنکشن چیک کرتا ہے کہ متن دوسری دلیل میں دیا گیا جزوی طور پر مماثل ہے۔ ذریعہ پہلی دلیل میں قدر.

ماخذ عنصر کا متن ہو سکتا ہے ( متن () ) یا عنصر کی وصف قدر ( attr_name ).

میں ex03.py ، عنصر کا متن چیک کیا گیا ہے۔

جزوی متن کا استعمال کرتے ہوئے ویب پیج سے عناصر تلاش کرنے کے لیے ایک اور مفید XPath فنکشن ہے۔ شروع ہوتا ہے (ماخذ ، متن) . اس فنکشن میں وہی دلائل ہیں جیسے مشتمل() فنکشن اور اسی طرح استعمال کیا جاتا ہے۔ فرق صرف یہ ہے کہ سے شروع ہوتا ہے () فنکشن چیک کرتا ہے کہ دوسری دلیل۔ متن پہلی دلیل کی ابتدائی تار ہے۔ ذریعہ .

میں نے مثال دوبارہ لکھی ہے۔ ex03.py اس عنصر کو تلاش کرنا جس کے لیے متن شروع ہوتا ہے۔ بھول گئے ، جیسا کہ آپ لائن 10 میں دیکھ سکتے ہیں۔ ex04.py . نتیجہ ایک جیسا ہی ہے۔ ex02 اور ex03.py .

میں نے بھی دوبارہ لکھا ہے۔ ex02.py تاکہ یہ ان پٹ عنصر کی تلاش کرے جس کے لیے قدر وصف سے شروع ہوتا ہے لاگ ، جیسا کہ آپ لائن 13 میں دیکھ سکتے ہیں۔ ex05.py . نتیجہ ایک جیسا ہی ہے۔ ex02.py .

نتیجہ:

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