সেলেনিয়াম সহ টেক্সট দ্বারা এলিমেন্ট কিভাবে সন্ধান করবেন

How Find Element Text With Selenium



ওয়েব পৃষ্ঠা থেকে উপাদানগুলি সনাক্ত করা এবং নির্বাচন করা সেলেনিয়ামের সাথে ওয়েব স্ক্র্যাপিংয়ের চাবিকাঠি। আপনি সেলেনিয়ামে একটি ট্যাগের নাম, আইডি, শ্রেণীর নাম, এক্সপ্যাথ নির্বাচক, সিএসএস নির্বাচক ইত্যাদি ব্যবহার করে উপাদান নির্বাচন করতে পারেন। আপনি সেলেনিয়াম সহ একটি নির্দিষ্ট পাঠ্য আছে এমন উপাদানগুলিও নির্বাচন করতে পারেন। এটি সহজেই ওয়েব পেজ থেকে লিঙ্ক এবং বোতাম নির্বাচন করার জন্য সহায়ক। এমনকি যদি পৃষ্ঠার কাঠামো পরিবর্তন হয়, যতক্ষণ পর্যন্ত ওয়েব পৃষ্ঠা উপাদানটির পাঠ্য একই থাকে, আপনার নির্বাচকের ঠিক কাজ করা উচিত। এটি সেলেনিয়ামে পাঠ্য ব্যবহার করে লিঙ্ক এবং বোতাম নির্বাচন করার সুবিধা।

এই নিবন্ধে, আমি আপনাকে সেলেনিয়াম পাইথন লাইব্রেরির সাথে সেলেনিয়ামে পাঠ্য ব্যবহার করে ওয়েব পৃষ্ঠাগুলি থেকে উপাদানগুলি কীভাবে সনাক্ত এবং নির্বাচন করতে হয় তা দেখাতে যাচ্ছি। চল শুরু করা যাক.







পূর্বশর্ত:

এই নিবন্ধের কমান্ড এবং উদাহরণগুলি চেষ্টা করার জন্য, আপনার অবশ্যই থাকতে হবে:



  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/')
AccountLink ভুলে গেছি=ব্রাউজার।find_element(দ্বারা.এক্সপ্যাথ, '
//*[টেক্সট () = 'অ্যাকাউন্ট ভুলে গেছেন?'] '
)
AccountLink ভুলে গেছি।send_keys(চাবি।লিখুন)

একবার হয়ে গেলে, সংরক্ষণ করুন ex01.py পাইথন স্ক্রিপ্ট।

লাইন 1-4 পাইথন প্রোগ্রামে সমস্ত প্রয়োজনীয় উপাদান আমদানি করে।

লাইন 6 একটি ক্রোম তৈরি করে ব্রাউজার বস্তু ব্যবহার করে ক্রোমড্রাইভার থেকে বাইনারি ড্রাইভার/ প্রকল্পের ডিরেক্টরি।

লাইন 8 ব্রাউজারকে ওয়েবসাইট facebook.com লোড করতে বলে।

লাইন 10 লিঙ্কটি খুঁজে পায় যার মধ্যে পাঠ্য রয়েছে অ্যাকাউন্ট ভুলে গেছেন? XPath নির্বাচক ব্যবহার করে। তার জন্য, আমি XPath নির্বাচক ব্যবহার করেছি //*[টেক্সট () = 'অ্যাকাউন্ট ভুলে গেছেন?']

XPath নির্বাচক দিয়ে শুরু হয় //, যার অর্থ উপাদানটি পৃষ্ঠার যে কোনও জায়গায় থাকতে পারে। দ্য * প্রতীক সেলেনিয়ামকে কোন ট্যাগ নির্বাচন করতে বলে ( প্রতি অথবা পৃ অথবা ব্যাপ্তি, ইত্যাদি) যা বর্গাকার বন্ধনীগুলির ভিতরের অবস্থার সাথে মেলে [] । এখানে, শর্ত হল, উপাদান পাঠ্য সমান অ্যাকাউন্ট ভুলে গেছেন?

দ্য পাঠ্য () একটি উপাদানের পাঠ্য পেতে XPath ফাংশন ব্যবহার করা হয়।

উদাহরণ স্বরূপ, পাঠ্য () ফিরে ওহে বিশ্ব যদি এটি নিম্নলিখিত HTML উপাদান নির্বাচন করে।

< প্রতি href='http://dummysite.com'>ওহে বিশ্ব</ প্রতি >

লাইন 11 পাঠায় এ কী টিপুন অ্যাকাউন্ট ভুলে গেছেন? লিঙ্ক।

পাইথন স্ক্রিপ্ট চালান ex01.py নিম্নলিখিত কমান্ড দিয়ে:

$ পাইথন ex01।py

আপনি দেখতে পাচ্ছেন, ওয়েব ব্রাউজারটি খুঁজে বের করে, নির্বাচন করে এবং চাপ দেয় উপর কী অ্যাকাউন্ট ভুলে গেছেন? লিঙ্ক।

দ্য অ্যাকাউন্ট ভুলে গেছেন? লিঙ্কটি ব্রাউজারটিকে নিম্নলিখিত পৃষ্ঠায় নিয়ে যায়।

একইভাবে, আপনি সহজেই এমন উপাদানগুলি অনুসন্ধান করতে পারেন যা আপনার পছন্দসই বৈশিষ্ট্য মান আছে।

এখানে প্রবেশ করুন বোতাম একটি ইনপুট উপাদান যা আছে মান বৈশিষ্ট্য প্রবেশ করুন । আসুন দেখি কিভাবে টেক্সট দ্বারা এই উপাদানটি নির্বাচন করা যায়।

একটি নতুন পাইথন স্ক্রিপ্ট তৈরি করুন ex02.py এবং এতে কোডগুলির নিম্নলিখিত লাইনগুলি টাইপ করুন।

থেকেসেলেনিয়ামআমদানিওয়েবড্রাইভার
থেকেসেলেনিয়ামওয়েবড্রাইভারসাধারণচাবি আমদানিচাবি
থেকেসেলেনিয়ামওয়েবড্রাইভারসাধারণদ্বারা আমদানিদ্বারা
থেকে সময় আমদানিঘুম
ব্রাউজার=ওয়েবড্রাইভার।ক্রোম(এক্সিকিউটেবল_পথ='./drivers/chromedriver')
ব্রাউজার।পাওয়া('https://www.facebook.com/')
ঘুম(5)
ইমেইল ইনপুট=ব্রাউজার।find_element(দ্বারা.এক্সপ্যাথ, '// ইনপুট [@আইডি =' ইমেল ']')
পাসওয়ার্ড ইনপুট=ব্রাউজার।find_element(দ্বারা.এক্সপ্যাথ, '// ইনপুট [@আইডি =' পাস ']')
লগইন বোতাম=ব্রাউজার।find_element(দ্বারা.এক্সপ্যাথ, '//*[@মান =' লগ ইন ']')
ইমেইল ইনপুট।send_keys('[ইমেল সুরক্ষিত]')
ঘুম(5)
পাসওয়ার্ড ইনপুট।send_keys('গোপন পাস')
ঘুম(5)
লগইন বোতাম।send_keys(চাবি।লিখুন)

একবার হয়ে গেলে, সংরক্ষণ করুন ex02.py পাইথন স্ক্রিপ্ট।

লাইন 1-4 সমস্ত প্রয়োজনীয় উপাদান আমদানি করে।

লাইন 6 একটি ক্রোম তৈরি করে ব্রাউজার বস্তু ব্যবহার করে ক্রোমড্রাইভার থেকে বাইনারি ড্রাইভার/ প্রকল্পের ডিরেক্টরি।

লাইন 8 ব্রাউজারকে ওয়েবসাইট facebook.com লোড করতে বলে।

স্ক্রিপ্ট চালানোর পরে সবকিছু এত দ্রুত ঘটে। সুতরাং, আমি ব্যবহার করেছি ঘুম() অনেকবার কাজ করে ex02.py ব্রাউজার কমান্ড বিলম্ব করার জন্য। এই ভাবে, আপনি কিভাবে সবকিছু কাজ করে তা পর্যবেক্ষণ করতে পারেন।

লাইন 11 ইমেইল ইনপুট টেক্সট বক্স খুঁজে পায় এবং উপাদানটির একটি রেফারেন্স সংরক্ষণ করে ইমেইল ইনপুট পরিবর্তনশীল

লাইন 12 ইমেইল ইনপুট টেক্সট বক্স খুঁজে পায় এবং উপাদানটির একটি রেফারেন্স সংরক্ষণ করে ইমেইল ইনপুট পরিবর্তনশীল

লাইন 13 ইনপুট উপাদানটি খুঁজে পায় যার বৈশিষ্ট্য আছে মান এর প্রবেশ করুন XPath নির্বাচক ব্যবহার করে। তার জন্য, আমি XPath নির্বাচক ব্যবহার করেছি //*[@মান = 'লগ ইন']

XPath নির্বাচক দিয়ে শুরু হয় // । এর অর্থ হল উপাদানটি পৃষ্ঠার যে কোন জায়গায় হতে পারে। দ্য * প্রতীক সেলেনিয়ামকে কোন ট্যাগ নির্বাচন করতে বলে ( ইনপুট অথবা পৃ অথবা ব্যাপ্তি, ইত্যাদি) যা বর্গাকার বন্ধনীগুলির ভিতরের অবস্থার সাথে মেলে [] । এখানে, শর্ত হল, উপাদান গুণ মান সমান প্রবেশ করুন

লাইন 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

উপসংহার:

এই নিবন্ধে, আমি আপনাকে দেখিয়েছি কিভাবে সেলেনিয়াম পাইথন লাইব্রেরির সাহায্যে পাঠ্য দ্বারা ওয়েব পৃষ্ঠা থেকে উপাদানগুলি খুঁজে বের করতে এবং নির্বাচন করতে হয়। এখন, আপনি সেলেনিয়াম পাইথন লাইব্রেরির সাথে নির্দিষ্ট পাঠ্য বা আংশিক পাঠ্য দ্বারা ওয়েব পৃষ্ঠাগুলি থেকে উপাদানগুলি খুঁজে পেতে সক্ষম হবেন।