செலினியம் மூலம் உரை மூலம் உறுப்பை எவ்வாறு கண்டுபிடிப்பது

How Find Element Text With Selenium



வலைப்பக்கத்திலிருந்து உறுப்புகளை கண்டறிதல் மற்றும் தேர்ந்தெடுப்பது செலினியம் மூலம் வலை ஸ்கிராப்பிங்கிற்கு முக்கியமாகும். குறிச்சொல் பெயர், ஐடி, வகுப்பு பெயர், எக்ஸ்பாத் தேர்வாளர், சிஎஸ்எஸ் தேர்வாளர் போன்றவற்றைப் பயன்படுத்தி உறுப்புகளைத் தேர்ந்தெடுக்கலாம். செலினியத்துடன் ஒரு குறிப்பிட்ட உரையைக் கொண்ட உறுப்புகளையும் நீங்கள் தேர்ந்தெடுக்கலாம். இணையப் பக்கத்திலிருந்து இணைப்புகள் மற்றும் பொத்தான்களை எளிதாகத் தேர்ந்தெடுக்க இது உதவியாக இருக்கும். பக்க அமைப்பு மாறினாலும், வலைப்பக்க உறுப்பின் உரை அப்படியே இருக்கும் வரை, உங்கள் தேர்வாளர் நன்றாக வேலை செய்ய வேண்டும். செலினியத்தில் உள்ள உரையைப் பயன்படுத்தி இணைப்புகள் மற்றும் பொத்தான்களைத் தேர்ந்தெடுப்பதன் நன்மை இது.

இந்த கட்டுரையில், செலினியம் பைதான் நூலகத்துடன் செலினியம் உள்ள உரையைப் பயன்படுத்தி வலைப் பக்கங்களிலிருந்து உறுப்புகளை எவ்வாறு கண்டறிவது மற்றும் தேர்ந்தெடுப்பது என்பதை நான் உங்களுக்குக் காண்பிக்கப் போகிறேன். எனவே, ஆரம்பிக்கலாம்.







முன்நிபந்தனைகள்:

இந்த கட்டுரையின் கட்டளைகளையும் எடுத்துக்காட்டுகளையும் முயற்சிக்க, உங்களிடம் இருக்க வேண்டும்:



  1. உங்கள் கணினியில் ஒரு லினக்ஸ் விநியோகம் (முன்னுரிமை உபுண்டு) நிறுவப்பட்டுள்ளது.
  2. உங்கள் கணினியில் பைதான் 3 நிறுவப்பட்டுள்ளது.
  3. உங்கள் கணினியில் PIP 3 நிறுவப்பட்டுள்ளது.
  4. பைதான் virtualenv உங்கள் கணினியில் தொகுப்பு நிறுவப்பட்டுள்ளது.
  5. உங்கள் கணினியில் Mozilla Firefox அல்லது Google Chrome இணைய உலாவிகள் நிறுவப்பட்டுள்ளன.
  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, '
//*[உரை () = 'கணக்கு மறந்துவிட்டதா?'] '
)
அக்கவுண்ட்லிங்க் மறந்துவிட்டது.அனுப்பு_கீகள்(விசைகள்.உள்ளிடுக)

நீங்கள் முடித்தவுடன், சேமிக்கவும் ex01.py பைதான் ஸ்கிரிப்ட்.

வரி 1-4 பைதான் திட்டத்தில் தேவையான அனைத்து கூறுகளையும் இறக்குமதி செய்கிறது.

வரி 6 ஒரு Chrome ஐ உருவாக்குகிறது உலாவி பொருளைப் பயன்படுத்தி குரோமெட்ரைவர் இருந்து பைனரி ஓட்டுனர்கள்/ திட்டத்தின் அடைவு.

ஃபேஸ்புக்.காம் இணையதளத்தை ஏற்றுமாறு வரி 8 உலாவிக்கு சொல்கிறது.

வரி 10 இணைப்பைக் கொண்டுள்ளது கணக்கு மறந்துவிட்டதா? எக்ஸ்பாத் தேர்வைப் பயன்படுத்துதல். அதற்காக, நான் எக்ஸ்பாத் தேர்வாளரைப் பயன்படுத்தினேன் //*[உரை () = 'கணக்கு மறந்துவிட்டதா? ’] .

XPath தேர்வாளர் தொடங்குகிறது //, அதாவது உறுப்பு பக்கத்தில் எங்கும் இருக்கலாம். தி * சின்னம் செலினியம் எந்த குறிச்சொல்லை தேர்ந்தெடுக்க சொல்கிறது ( க்கு அல்லது அல்லது இடைவெளி, முதலியன) சதுர அடைப்புக்குறிக்குள் உள்ள நிலைக்கு பொருந்துகிறது [] . இங்கே, நிபந்தனை, உறுப்பு உரை சமமாக இருக்கும் கணக்கு மறந்துவிட்டதா?

தி உரை () ஒரு தனிமத்தின் உரையைப் பெற XPath செயல்பாடு பயன்படுத்தப்படுகிறது.

உதாரணத்திற்கு, உரை () திரும்புகிறது வணக்கம் உலகம் பின்வரும் HTML உறுப்பைத் தேர்ந்தெடுத்தால்.

< க்கு href='http://dummysite.com'>வணக்கம் உலகம்</ க்கு >

வரி 11 அனுப்புகிறது விசையை அழுத்தவும் கணக்கு மறந்துவிட்டதா? இணைப்பு

பைதான் ஸ்கிரிப்டை இயக்கவும் ex01.py பின்வரும் கட்டளையுடன்:

$ மலைப்பாம்பு ex01.பை

நீங்கள் பார்க்க முடியும் என, இணைய உலாவி கண்டுபிடித்து, தேர்ந்தெடுத்து, அழுத்துகிறது மீது விசை கணக்கு மறந்துவிட்டதா? இணைப்பு

தி கணக்கு மறந்துவிட்டதா? இணைப்பு பின்வரும் பக்கத்திற்கு உலாவியை எடுத்துச் செல்கிறது.

அதே வழியில், நீங்கள் விரும்பும் பண்புக்கூறு மதிப்புள்ள கூறுகளை எளிதாக தேடலாம்.

இங்கே, தி உள்நுழைய பொத்தான் ஒரு உள்ளீடு கொண்டிருக்கும் உறுப்பு மதிப்பு பண்பு உள்நுழைய . உரை மூலம் இந்த உறுப்பை எவ்வாறு தேர்வு செய்வது என்று பார்ப்போம்.

புதிய பைதான் ஸ்கிரிப்டை உருவாக்கவும் ex02.py மற்றும் பின்வரும் குறியீடுகளின் வரிகளை அதில் தட்டச்சு செய்யவும்.

இருந்துசெலினியம்இறக்குமதிவெப் டிரைவர்
இருந்துசெலினியம்வெப் டிரைவர்.பொதுவான.விசைகள் இறக்குமதிவிசைகள்
இருந்துசெலினியம்வெப் டிரைவர்.பொதுவான.மூலம் இறக்குமதிமூலம்
இருந்து நேரம் இறக்குமதிதூங்கு
உலாவி=வெப் டிரைவர்.குரோம்(இயங்கக்கூடிய பாதை='./drivers/chromedriver')
உலாவிபெறு('https://www.facebook.com/')
தூங்கு(5)
மின்னஞ்சல் உள்ளீடு=உலாவிகண்டுபிடிப்பு(மூலம்.XPATH, '// உள்ளீடு [@id =' மின்னஞ்சல் ']')
கடவுச்சொல் உள்ளீடு=உலாவிகண்டுபிடிப்பு(மூலம்.XPATH, '// உள்ளீடு [@id =' pass ']')
உள்நுழைவு பட்டன்=உலாவிகண்டுபிடிப்பு(மூலம்.XPATH, '//*[@மதிப்பு =' உள்நுழைக ']')
மின்னஞ்சல் உள்ளீடு.அனுப்பு_கீகள்('[மின்னஞ்சல் பாதுகாக்கப்பட்டது]')
தூங்கு(5)
கடவுச்சொல் உள்ளீடு.அனுப்பு_கீகள்('ரகசிய பாஸ்')
தூங்கு(5)
உள்நுழைவு பட்டன்.அனுப்பு_கீகள்(விசைகள்.உள்ளிடுக)

நீங்கள் முடித்தவுடன், சேமிக்கவும் ex02.py பைதான் ஸ்கிரிப்ட்.

1-4 வரி தேவையான அனைத்து கூறுகளையும் இறக்குமதி செய்கிறது.

வரி 6 ஒரு Chrome ஐ உருவாக்குகிறது உலாவி பொருளைப் பயன்படுத்தி குரோமெட்ரைவர் இருந்து பைனரி ஓட்டுனர்கள்/ திட்டத்தின் அடைவு.

ஃபேஸ்புக்.காம் இணையதளத்தை ஏற்றுமாறு வரி 8 உலாவிக்கு சொல்கிறது.

நீங்கள் ஸ்கிரிப்டை இயக்கியவுடன் எல்லாம் மிக வேகமாக நடக்கும். எனவே, நான் பயன்படுத்தினேன் தூங்கு() பல முறை செயல்படுகிறது ex02.py உலாவி கட்டளைகளை தாமதப்படுத்துவதற்காக. இந்த வழியில், எல்லாம் எப்படி வேலை செய்கிறது என்பதை நீங்கள் அவதானிக்கலாம்.

வரி 11 மின்னஞ்சல் உள்ளீட்டு உரைப் பெட்டியைக் கண்டறிந்து அதில் உள்ள உறுப்பின் குறிப்பைச் சேமிக்கிறது மின்னஞ்சல் உள்ளீடு மாறி.

வரி 12 மின்னஞ்சல் உள்ளீட்டு உரைப் பெட்டியைக் கண்டறிந்து அதில் உள்ள உறுப்பின் குறிப்பைச் சேமிக்கிறது மின்னஞ்சல் உள்ளீடு மாறி.

வரி 13 பண்புக்கூறு கொண்ட உள்ளீட்டு உறுப்பைக் காண்கிறது மதிப்பு இன் உள்நுழைய XPath தேர்வாளரைப் பயன்படுத்துதல். அதற்காக, நான் எக்ஸ்பாத் தேர்வாளரைப் பயன்படுத்தினேன் //*[@மதிப்பு = 'உள்நுழைக'] .

XPath தேர்வாளர் தொடங்குகிறது // . உறுப்பு பக்கத்தில் எங்கும் இருக்க முடியும் என்பதாகும். தி * சின்னம் செலினியம் எந்த குறிச்சொல்லை தேர்ந்தெடுக்க சொல்கிறது ( உள்ளீடு அல்லது அல்லது இடைவெளி, முதலியன) சதுர அடைப்புக்குறிக்குள் உள்ள நிலைக்கு பொருந்துகிறது [] . இங்கே, நிபந்தனை, உறுப்பு பண்பு மதிப்பு சமமாக உள்ளது உள்நுழைய .

வரி 15 உள்ளீட்டை அனுப்புகிறது[மின்னஞ்சல் பாதுகாக்கப்பட்டது]மின்னஞ்சல் உள்ளீட்டு உரை பெட்டியில், மற்றும் வரி 16 அடுத்த செயல்பாட்டை தாமதப்படுத்துகிறது.

வரி 18 கடவுச்சொல் உள்ளீட்டு உரை பெட்டியில் உள்ளீடு இரகசிய-பாஸை அனுப்புகிறது, மேலும் வரி 19 அடுத்த செயல்பாட்டை தாமதப்படுத்துகிறது.

வரி 21 அனுப்புகிறது உள்நுழைவு பொத்தானை அழுத்தவும்.

இயக்கவும் ex02.py பின்வரும் கட்டளையுடன் பைதான் ஸ்கிரிப்ட்:

$ python3 ex02.பை

நீங்கள் பார்க்க முடியும் என, மின்னஞ்சல் மற்றும் கடவுச்சொல் உரை பெட்டிகள் எங்கள் போலி மதிப்புகளால் நிரப்பப்பட்டுள்ளன, மற்றும் உள்நுழைய பொத்தானை அழுத்தவும்.

பின் பக்கம் பின்வரும் பக்கத்திற்கு செல்கிறது.

பகுதி உரையின் மூலம் கூறுகளைக் கண்டறிதல்:

முந்தைய பகுதியில், குறிப்பிட்ட உரையின் மூலம் உறுப்புகளை எவ்வாறு கண்டுபிடிப்பது என்பதை நான் உங்களுக்குக் காட்டியுள்ளேன். இந்த பகுதியில், பகுதி உரையைப் பயன்படுத்தி வலைப் பக்கங்களிலிருந்து உறுப்புகளை எவ்வாறு கண்டுபிடிப்பது என்பதை நான் உங்களுக்குக் காண்பிக்கப் போகிறேன்.

எடுத்துக்காட்டில், 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 .

முடிவுரை:

இந்த கட்டுரையில், செலினியம் பைதான் நூலகத்துடன் உரை மூலம் வலைப்பக்கங்களிலிருந்து உறுப்புகளை எவ்வாறு கண்டுபிடிப்பது மற்றும் தேர்ந்தெடுப்பது என்பதை நான் உங்களுக்குக் காட்டியுள்ளேன். இப்போது, ​​செலினியம் பைதான் நூலகத்துடன் குறிப்பிட்ட உரை அல்லது பகுதி உரை மூலம் வலைப்பக்கங்களிலிருந்து உறுப்புகளை நீங்கள் கண்டுபிடிக்க முடியும்.