এইচটিএমএল পৃষ্ঠায় একটি উপাদান খুঁজে পেতে XPath এবং সেলেনিয়াম ব্যবহার করে

Using Xpath Selenium Find An Element Html Page



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

ওয়েব পৃষ্ঠা থেকে উপাদানগুলি সনাক্ত করা এবং নির্বাচন করা সেলেনিয়ামের সাথে ওয়েব স্ক্র্যাপিংয়ের চাবিকাঠি। ওয়েব পৃষ্ঠা থেকে উপাদানগুলি সনাক্ত এবং নির্বাচন করার জন্য, আপনি সেলেনিয়ামে XPath নির্বাচক ব্যবহার করতে পারেন।







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



পূর্বশর্ত:

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



  1. আপনার কম্পিউটারে একটি লিনাক্স বিতরণ (বিশেষত উবুন্টু) ইনস্টল করা আছে।
  2. আপনার কম্পিউটারে পাইথন 3 ইনস্টল করা আছে।
  3. আপনার কম্পিউটারে PIP 3 ইনস্টল করা আছে।
  4. পাইথন virtualenv আপনার কম্পিউটারে ইনস্টল করা প্যাকেজ।
  5. আপনার কম্পিউটারে মজিলা ফায়ারফক্স বা গুগল ক্রোম ওয়েব ব্রাউজার ইনস্টল করা আছে।
  6. ফায়ারফক্স গেকো ড্রাইভার বা ক্রোম ওয়েব ড্রাইভার কিভাবে ইনস্টল করতে হবে তা অবশ্যই জানতে হবে।

প্রয়োজনীয়তা 4, 5 এবং 6 পূরণ করার জন্য, আমার নিবন্ধটি পড়ুন পাইথনে সেলেনিয়ামের ভূমিকা 3 । আপনি অন্যান্য বিষয়ে অনেক নিবন্ধ খুঁজে পেতে পারেন LinuxHint.com । আপনার কোন সহায়তার প্রয়োজন হলে সেগুলি পরীক্ষা করে দেখুন।





একটি প্রকল্প ডিরেক্টরি সেট আপ:

সবকিছু সংগঠিত রাখতে, একটি নতুন প্রকল্প ডিরেক্টরি তৈরি করুন সেলেনিয়াম- xpath/ নিম্নরূপ:

$mkdir -পিভিসেলেনিয়াম-এক্সপথ/ড্রাইভার



এ নেভিগেট করুন সেলেনিয়াম- xpath/ প্রকল্প নির্দেশিকা নিম্নরূপ:

$সিডিসেলেনিয়াম-এক্সপথ/

প্রকল্প ডিরেক্টরিতে একটি পাইথন ভার্চুয়াল পরিবেশ তৈরি করুন নিম্নরূপ:

$virtualenv .venv

নিম্নরূপ ভার্চুয়াল পরিবেশ সক্রিয় করুন:

$সূত্র.venv/আমি/সক্রিয় করুন

নিম্নরূপ PIP3 ব্যবহার করে সেলেনিয়াম পাইথন লাইব্রেরি ইনস্টল করুন:

$ pip3 সেলেনিয়াম ইনস্টল করুন

সমস্ত প্রয়োজনীয় ওয়েব ড্রাইভার ডাউনলোড করুন এবং ইনস্টল করুন ড্রাইভার/ প্রকল্পের ডিরেক্টরি। আমি আমার নিবন্ধে ওয়েব ড্রাইভার ডাউনলোড এবং ইনস্টল করার প্রক্রিয়া ব্যাখ্যা করেছি পাইথনে সেলেনিয়ামের ভূমিকা 3

ক্রোম ডেভেলপার টুল ব্যবহার করে XPath নির্বাচক পান:

এই বিভাগে, আমি আপনাকে দেখাতে যাচ্ছি যে গুগল ক্রোম ওয়েব ব্রাউজারের বিল্ট-ইন ডেভেলপার টুল ব্যবহার করে সেলেনিয়ামের সাথে আপনি যে ওয়েব পেজ এলিমেন্টটি নির্বাচন করতে চান তার এক্সপ্যাথ সিলেক্টর কিভাবে খুঁজে পাবেন।

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

টিপতেও পারেন + শিফট + আমি খুলতে ক্রোম ডেভেলপার টুল

ক্রোম ডেভেলপার টুল খোলা উচিত।

আপনার পছন্দসই ওয়েব পেজ এলিমেন্টের HTML উপস্থাপনা খুঁজে পেতে, এ ক্লিক করুন পরিদর্শন (

) নীচের স্ক্রিনশটে চিহ্নিত হিসাবে আইকন।

তারপরে, আপনার পছন্দসই ওয়েব পেজ এলিমেন্টের উপর ঘুরুন এবং এটি নির্বাচন করতে বাম মাউস বোতাম (LMB) টিপুন।

আপনার নির্বাচিত ওয়েব এলিমেন্টের এইচটিএমএল উপস্থাপনা হাইলাইট করা হবে উপাদান এর ট্যাব ক্রোম ডেভেলপার টুল, যেমন আপনি নীচের স্ক্রিনশটে দেখতে পারেন।

আপনার পছন্দসই উপাদানটির XPath নির্বাচক পেতে, থেকে উপাদানটি নির্বাচন করুন উপাদান এর ট্যাব ক্রোম ডেভেলপার টুল এবং তার উপর ডান ক্লিক করুন (RMB)। তারপর, নির্বাচন করুন কপি > XPath কপি করুন, নীচের স্ক্রিনশটে চিহ্নিত হিসাবে।

আমি একটি পাঠ্য সম্পাদকের মধ্যে XPath নির্বাচক আটকিয়েছি। XPath নির্বাচক দেখতে নিচের স্ক্রিনশটে দেখানো হয়েছে।

ফায়ারফক্স ডেভেলপার টুল ব্যবহার করে XPath নির্বাচক পান:

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

ফায়ারফক্স ওয়েব ব্রাউজার ব্যবহার করে XPath নির্বাচক পেতে, ফায়ারফক্স খুলুন এবং যে ওয়েব সাইট থেকে আপনি ডেটা বের করতে চান সেখানে যান। তারপরে, পৃষ্ঠার খালি জায়গায় ডান মাউস বোতাম (RMB) টিপুন এবং ক্লিক করুন উপাদান পরিদর্শন (প্রশ্ন) খুলতে ফায়ারফক্স ডেভেলপার টুল

ফায়ারফক্স ডেভেলপার টুল খোলা উচিত।

আপনার পছন্দসই ওয়েব পেজ এলিমেন্টের HTML উপস্থাপনা খুঁজে পেতে, এ ক্লিক করুন পরিদর্শন (

) নীচের স্ক্রিনশটে চিহ্নিত হিসাবে আইকন।

তারপরে, আপনার পছন্দসই ওয়েব পেজ এলিমেন্টের উপর ঘুরুন এবং এটি নির্বাচন করতে বাম মাউস বোতাম (LMB) টিপুন।

আপনার নির্বাচিত ওয়েব এলিমেন্টের এইচটিএমএল উপস্থাপনা হাইলাইট করা হবে ইন্সপেক্টর এর ট্যাব ফায়ারফক্স ডেভেলপার টুল, যেমন আপনি নীচের স্ক্রিনশটে দেখতে পারেন।

আপনার পছন্দসই উপাদানটির XPath নির্বাচক পেতে, থেকে উপাদানটি নির্বাচন করুন ইন্সপেক্টর এর ট্যাব ফায়ারফক্স ডেভেলপার টুল এবং তার উপর ডান ক্লিক করুন (RMB)। তারপর, নির্বাচন করুন কপি > XPath নীচের স্ক্রিনশটে চিহ্নিত হিসাবে।

আপনার কাঙ্ক্ষিত উপাদানটির XPath নির্বাচককে এরকম কিছু দেখতে হবে।

XPath নির্বাচক ব্যবহার করে ওয়েব পেজ থেকে ডেটা বের করা:

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

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

থেকেসেলেনিয়ামআমদানিওয়েবড্রাইভার
থেকেসেলেনিয়ামওয়েবড্রাইভারসাধারণচাবি আমদানিচাবি
থেকেসেলেনিয়ামওয়েবড্রাইভারসাধারণদ্বারা আমদানিদ্বারা
বিকল্প=ওয়েবড্রাইভার।ChromeOptions()
বিকল্পমাথাহীন = সত্য
ব্রাউজার=ওয়েবড্রাইভার।ক্রোম(এক্সিকিউটেবল_পথ='./drivers/chromedriver',
বিকল্প=বিকল্প)
ব্রাউজার।পাওয়া('https://www.unixtimestamp.com/')
টাইমস্ট্যাম্প=ব্রাউজার।find_element_by_xpath('/html/body/div [1]/div [1]
/div [2]/div [1]/div/div/h3 [2] '
)
ছাপা('বর্তমান টাইমস্ট্যাম্প: %s'%(টাইমস্ট্যাম্পপাঠ্যবিভক্ত('')[0]))
ব্রাউজার।বন্ধ()

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

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

লাইন 5 একটি ক্রোম অপশন বস্তু তৈরি করে এবং লাইন 6 ক্রোম ওয়েব ব্রাউজারের জন্য হেডলেস মোড সক্ষম করে।

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

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

লাইন 12 এক্সপ্যাথ নির্বাচক ব্যবহার করে পৃষ্ঠা থেকে টাইমস্ট্যাম্প ডেটা আছে এমন উপাদান খুঁজে পায় এবং এটি সংরক্ষণ করে টাইমস্ট্যাম্প পরিবর্তনশীল

লাইন 13 উপাদান থেকে টাইমস্ট্যাম্প ডেটা বিশ্লেষণ করে এবং এটি কনসোলে মুদ্রণ করে।

আমি চিহ্নিত XPath নির্বাচক অনুলিপি করেছি h2 থেকে উপাদান unixtimestamp.com ক্রোম ডেভেলপার টুল ব্যবহার করে।

লাইন 14 ব্রাউজার বন্ধ করে দেয়।

পাইথন স্ক্রিপ্ট চালান ex01.py নিম্নরূপ:

$ python3 ex01।py

আপনি দেখতে পাচ্ছেন, টাইমস্ট্যাম্প ডেটা স্ক্রিনে মুদ্রিত হয়।

এখানে, আমি ব্যবহার করেছি browser.find_element_by_xpath (নির্বাচক) পদ্ধতি এই পদ্ধতির একমাত্র প্যারামিটার হল নির্বাচক, যা উপাদানটির XPath নির্বাচক।

পরিবর্তে browser.find_element_by_xpath () পদ্ধতি, আপনিও ব্যবহার করতে পারেন browser.find_element (দ্বারা, নির্বাচক) পদ্ধতি এই পদ্ধতিতে দুটি পরামিতি প্রয়োজন। প্রথম প্যারামিটার দ্বারা হবে XPATH দ্বারা যেহেতু আমরা XPath নির্বাচক এবং দ্বিতীয় প্যারামিটার ব্যবহার করব নির্বাচক XPath নির্বাচক নিজেই হবে। ফলাফল একই হবে।

কিভাবে দেখতে browser.find_element () পদ্ধতি XPath নির্বাচকের জন্য কাজ করে, একটি নতুন পাইথন স্ক্রিপ্ট তৈরি করুন ex02.py , থেকে সমস্ত লাইন কপি এবং পেস্ট করুন ex01.py প্রতি ex02.py এবং পরিবর্তন লাইন 12 নীচের স্ক্রিনশটে চিহ্নিত হিসাবে।

আপনি দেখতে পাচ্ছেন, পাইথন স্ক্রিপ্ট ex02.py হিসাবে একই ফলাফল দেয় ex01.py

$ python3 ex02।py

দ্য browser.find_element_by_xpath () এবং browser.find_element () পদ্ধতিগুলি ওয়েব পেজ থেকে একটি একক উপাদান খুঁজে বের করার জন্য ব্যবহৃত হয়। আপনি যদি XPath নির্বাচক ব্যবহার করে একাধিক উপাদান খুঁজে পেতে এবং নির্বাচন করতে চান, তাহলে আপনাকে ব্যবহার করতে হবে browser.find_elements_by_xpath () অথবা browser.find_elements () পদ্ধতি

দ্য browser.find_elements_by_xpath () পদ্ধতি একই যুক্তি নেয় browser.find_element_by_xpath () পদ্ধতি

দ্য browser.find_elements () পদ্ধতি একই যুক্তি নেয় browser.find_element () পদ্ধতি

আসুন XPath নির্বাচক ব্যবহার করে নামের তালিকা বের করার একটি উদাহরণ দেখি random-name-generator.info সেলেনিয়াম পাইথন লাইব্রেরির সাথে।

অনিয়ন্ত্রিত তালিকা ( মারা ট্যাগ) একটি 10 ​​আছে প্রতিটিতে একটি এলোমেলো নাম ধারণকারী ট্যাগ। সমস্ত নির্বাচন করার জন্য XPath এর ভিতরে ট্যাগ মারা এই ক্ষেত্রে ট্যাগ হল //*[@id = main]/div [3]/div [2]/ol // li

এক্সপ্যাথ নির্বাচক ব্যবহার করে ওয়েব পেজ থেকে একাধিক উপাদান নির্বাচন করার একটি উদাহরণ দেওয়া যাক।

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

থেকেসেলেনিয়ামআমদানিওয়েবড্রাইভার
থেকেসেলেনিয়ামওয়েবড্রাইভারসাধারণচাবি আমদানিচাবি
থেকেসেলেনিয়ামওয়েবড্রাইভারসাধারণদ্বারা আমদানিদ্বারা
বিকল্প=ওয়েবড্রাইভার।ChromeOptions()
বিকল্পমাথাহীন = সত্য
ব্রাউজার=ওয়েবড্রাইভার।ক্রোম(এক্সিকিউটেবল_পথ='./drivers/chromedriver',
বিকল্প=বিকল্প)
ব্রাউজার।পাওয়া('http://random-name-generator.info/')
নাম=ব্রাউজার।find_elements_by_xpath('
//*[@id = 'main']/div [3]/div [2]/ol // li '
)
জন্যনামভিতরেনাম:
ছাপা(নামপাঠ্য)
ব্রাউজার।বন্ধ()

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

লাইন 1-8 এর মতই ex01.py পাইথন স্ক্রিপ্ট। সুতরাং, আমি তাদের আবার এখানে ব্যাখ্যা করতে যাচ্ছি না।

লাইন 10 ব্রাউজারকে ওয়েবসাইট এলোমেলো- name-generator.info লোড করতে বলে।

লাইন 12 ব্যবহার করে নাম তালিকা নির্বাচন করে browser.find_elements_by_xpath () পদ্ধতি এই পদ্ধতিটি XPath নির্বাচক ব্যবহার করে //*[@id = main]/div [3]/div [2]/ol // li নামের তালিকা খুঁজে পেতে। তারপর, নামের তালিকা সংরক্ষণ করা হয় নাম পরিবর্তনশীল

13 এবং 14 লাইনে, ক জন্য এর মাধ্যমে পুনরাবৃত্তি করতে লুপ ব্যবহার করা হয় নাম তালিকা তৈরি করুন এবং কনসোলে নাম মুদ্রণ করুন।

লাইন 16 ব্রাউজার বন্ধ করে দেয়।

পাইথন স্ক্রিপ্ট চালান ex03.py নিম্নরূপ:

$ python3 ex03।py

আপনি দেখতে পাচ্ছেন, নামগুলি ওয়েব পেজ থেকে বের করা হয়েছে এবং কনসোলে মুদ্রিত হয়েছে।

এর পরিবর্তে browser.find_elements_by_xpath () পদ্ধতি, আপনিও ব্যবহার করতে পারেন browser.find_elements () আগের মত পদ্ধতি। এই পদ্ধতির প্রথম যুক্তি হল XPATH দ্বারা, এবং দ্বিতীয় যুক্তি হল XPath নির্বাচক।

সঙ্গে পরীক্ষা করতে browser.find_elements () পদ্ধতি, একটি নতুন পাইথন স্ক্রিপ্ট তৈরি করুন ex04.py , থেকে সমস্ত কোড অনুলিপি করুন ex03.py প্রতি ex04.py , এবং নিচের স্ক্রিনশটে চিহ্নিত হিসাবে লাইন 12 পরিবর্তন করুন।

আপনার আগের মতই ফলাফল পাওয়া উচিত।

$ python3 ex04।py

XPath নির্বাচকের মূল বিষয়গুলি:

ফায়ারফক্স বা গুগল ক্রোম ওয়েব ব্রাউজারের ডেভেলপার টুল স্বয়ংক্রিয়ভাবে XPath নির্বাচক তৈরি করে। কিন্তু এই XPath নির্বাচকরা মাঝে মাঝে আপনার প্রকল্পের জন্য যথেষ্ট নয়। সেই ক্ষেত্রে, আপনার XPath নির্বাচক তৈরির জন্য একটি নির্দিষ্ট XPath নির্বাচক কী করে তা আপনাকে অবশ্যই জানতে হবে। এই বিভাগে, আমি আপনাকে XPath নির্বাচকদের মূল বিষয়গুলি দেখাতে যাচ্ছি। তারপরে, আপনার নিজের XPath নির্বাচক তৈরি করতে সক্ষম হওয়া উচিত।

একটি নতুন ডিরেক্টরি তৈরি করুন www/ আপনার প্রকল্প ডিরেক্টরিতে নিম্নরূপ:

$mkdir -ভিwww

একটি নতুন ফাইল তৈরি করুন web01.html মধ্যে www/ ডিরেক্টরি এবং সেই ফাইলে নিম্নলিখিত লাইনগুলিতে টাইপ করুন।


< html ল্যাং='চালু'>
< মাথা >
< মেটা চারসেট='UTF-8'>
< মেটা নাম='ভিউপোর্ট' বিষয়বস্তু='প্রস্থ = ডিভাইস-প্রস্থ, প্রাথমিক স্কেল = 1.0'>
< শিরোনাম >বেসিক HTML ডকুমেন্ট</ শিরোনাম >
</ মাথা >
< শরীর >
< h1 >ওহে বিশ্ব</ h1 >
</ শরীর >
</ html >

একবার হয়ে গেলে, সংরক্ষণ করুন web01.html ফাইল

নিম্নলিখিত কমান্ডটি ব্যবহার করে পোর্ট 8080 এ একটি সাধারণ HTTP সার্ভার চালান:

$ python3 -m http।সার্ভার-ডিরেক্টরি www/8080

HTTP সার্ভার শুরু করা উচিত।

আপনি অ্যাক্সেস করতে সক্ষম হওয়া উচিত web01.html URL ব্যবহার করে ফাইল http: // localhost: 8080/web01.html , যেমন আপনি নিচের স্ক্রিনশটে দেখতে পাচ্ছেন।

ফায়ারফক্স বা ক্রোম ডেভেলপার টুল খোলার সময় টিপুন + সার্চ বক্স খুলতে। আপনি এখানে আপনার XPath নির্বাচক টাইপ করতে পারেন এবং এটি খুব সহজেই কি নির্বাচন করে তা দেখতে পারেন। আমি এই বিভাগ জুড়ে এই সরঞ্জামটি ব্যবহার করতে যাচ্ছি।

একটি XPath নির্বাচক a দিয়ে শুরু হয় ফরওয়ার্ড স্ল্যাশ (/) অধিকাংশ সময়. এটি একটি লিনাক্স ডিরেক্টরি গাছের মত। দ্য / ওয়েব পেজের সকল উপাদানের মূল।

প্রথম উপাদান হল html । সুতরাং, XPath নির্বাচক /এইচটিএমএল সম্পূর্ণ নির্বাচন করে html ট্যাগ

ভিতরে html ট্যাগ, আমাদের একটি শরীর ট্যাগ দ্য শরীর XPath নির্বাচকের সাথে ট্যাগ নির্বাচন করা যেতে পারে /html/শরীর

দ্য h1 হেডার ভিতরে আছে শরীর ট্যাগ দ্য h1 XPath নির্বাচকের সাথে হেডার নির্বাচন করা যেতে পারে /html/body/h1

এই ধরণের XPath নির্বাচককে বলা হয় পরম পথ নির্বাচক। পরম পথ নির্বাচকের ক্ষেত্রে, আপনাকে অবশ্যই পৃষ্ঠার মূল (/) থেকে ওয়েব পৃষ্ঠাটি অতিক্রম করতে হবে। একটি নিখুঁত পথ নির্বাচকের অসুবিধা হল যে ওয়েব পৃষ্ঠা কাঠামোর সামান্য পরিবর্তনও আপনার XPath নির্বাচককে অবৈধ করতে পারে। এই সমস্যার সমাধান হল আপেক্ষিক বা আংশিক XPath নির্বাচক।

আপেক্ষিক পথ বা আংশিক পথ কিভাবে কাজ করে তা দেখতে, একটি নতুন ফাইল তৈরি করুন web02.html মধ্যে www/ ডিরেক্টরি এবং এটিতে নিম্নলিখিত কোডগুলির লাইন টাইপ করুন।


< html ল্যাং='চালু'>
< মাথা >
< মেটা চারসেট='UTF-8'>
< মেটা নাম='ভিউপোর্ট' বিষয়বস্তু='প্রস্থ = ডিভাইস-প্রস্থ, প্রাথমিক স্কেল = 1.0'>
< শিরোনাম >বেসিক HTML ডকুমেন্ট</ শিরোনাম >
</ মাথা >
< শরীর >
< h1 >ওহে বিশ্ব</ h1 >

< ডিভ >
< পৃ >এটি একটি বার্তা</ পৃ >
</ ডিভ >

< ডিভ >
< স্প্যান >ওহে বিশ্ব</ স্প্যান >
</ ডিভ >
</ শরীর >
</ html >

একবার হয়ে গেলে, সংরক্ষণ করুন web02.html ফাইলটি আপনার ওয়েব ব্রাউজারে লোড করুন।

আপনি দেখতে পাচ্ছেন, XPath নির্বাচক // ডিভ/পি নির্বাচন করে পৃ এর ভিতরে ট্যাগ ডিভ ট্যাগ এটি একটি আপেক্ষিক XPath নির্বাচকের উদাহরণ।

আপেক্ষিক XPath নির্বাচক দিয়ে শুরু হয় // । তারপরে আপনি যে উপাদানটি নির্বাচন করতে চান তার কাঠামো নির্দিষ্ট করুন। এক্ষেত্রে, div/p

সুতরাং, // ডিভ/পি মানে নির্বাচন করুন পৃ ভিতরে উপাদান a ডিভ উপাদান, কোন ব্যাপার না এটা আগে আসে।

এছাড়াও আপনি বিভিন্ন বৈশিষ্ট্যের মত উপাদান নির্বাচন করতে পারেন আইডি , শ্রেণী , টাইপ, ইত্যাদি XPath নির্বাচক ব্যবহার করে। আসুন দেখি কিভাবে এটি করা যায়।

একটি নতুন ফাইল তৈরি করুন web03.html মধ্যে www/ ডিরেক্টরি এবং এটিতে নিম্নলিখিত কোডগুলির লাইন টাইপ করুন।


< html ল্যাং='চালু'>
< মাথা >
< মেটা চারসেট='UTF-8'>
< মেটা নাম='ভিউপোর্ট' বিষয়বস্তু='প্রস্থ = ডিভাইস-প্রস্থ, প্রাথমিক স্কেল = 1.0'>
< শিরোনাম > বেসিক HTML ডকুমেন্ট</ শিরোনাম >
</ মাথা >
< শরীর >
< h1 > হ্যালো ওয়ার্ল্ড</ h1 >
< ডিভ শ্রেণী='ধারক 1'>
< পৃ > এটি একটি বার্তা</ পৃ >
< স্প্যান > এটি আরেকটি বার্তা</ স্প্যান >
</ ডিভ >
< ডিভ শ্রেণী='ধারক 1'>
< h2 > শিরোনাম2</ h2 >
< পৃ > কিছু মানুষ
যন্ত্রণা, ঝামেলা বাছাই করা বুদ্ধিমানের কাজ, যা নির্বাচিতের জন্য পড়ে না
সহজ ফ্লাইট বা অন্যান্য দুর্দান্ত পরিষেবা? তিনি কোথা থেকে বা কোথায় জন্মগ্রহণ করেছিলেন?</ পৃ >
</ ডিভ >

< স্প্যান আইডি='পাদলেখ-বার্তা'> এটি একটি পাদলেখ</ স্প্যান >
</পাদলেখ>
</ শরীর >
</ html >

একবার হয়ে গেলে, সংরক্ষণ করুন web03.html ফাইলটি আপনার ওয়েব ব্রাউজারে লোড করুন।

ধরা যাক আপনি সব নির্বাচন করতে চান ডিভ যে উপাদানগুলো আছে শ্রেণী নাম ধারক 1 । এটি করার জন্য, আপনি XPath নির্বাচক ব্যবহার করতে পারেন // ডিভ [@শ্রেণী = 'ধারক 1 ′]

আপনি দেখতে পাচ্ছেন, আমার 2 টি উপাদান আছে যা XPath নির্বাচকের সাথে মেলে // ডিভ [@শ্রেণী = 'ধারক 1 ′]

প্রথমটি নির্বাচন করতে ডিভ সঙ্গে উপাদান শ্রেণী নাম ধারক 1 , যোগ করুন [1] XPath এর শেষে নির্বাচন করুন, যেমন নীচের স্ক্রিনশটে দেখানো হয়েছে।

একইভাবে, আপনি দ্বিতীয়টি নির্বাচন করতে পারেন ডিভ সঙ্গে উপাদান শ্রেণী নাম ধারক 1 XPath নির্বাচক ব্যবহার করে // ডিভ [@ক্লাস = 'কন্টেইনার 1 ′] [2]

আপনি দ্বারা উপাদান নির্বাচন করতে পারেন আইডি যেমন.

উদাহরণস্বরূপ, যে উপাদানটি আছে তা নির্বাচন করতে আইডি এর পাদলেখ-বার্তা , আপনি XPath নির্বাচক ব্যবহার করতে পারেন //*[@id = 'footer-msg']

এখানে * আগে [@id = 'footer-msg'] তাদের ট্যাগ নির্বিশেষে যেকোন উপাদান নির্বাচন করতে ব্যবহৃত হয়।

এটি XPath নির্বাচকের মূল বিষয়। এখন, আপনার সেলেনিয়াম প্রকল্পগুলির জন্য আপনার নিজের XPath নির্বাচক তৈরি করতে সক্ষম হওয়া উচিত।

উপসংহার:

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