உங்களுடையது linux கணிணியாக இருந்தால் terminal-ல் சென்று sudo pip install selenium என்று கொடுக்கவும். இது selenium webdriver-ஐ install செய்துவிடும். அப்படியே python-ஐயும் install செய்து கொள்ளவும்.
WordPress-க்குள் சென்று ஒரு புதிய blog-ஐ உருவாக்கி வெளியிடும் விதத்தை Webdriver – மூலம் தானாக இயங்க வைப்பதற்கான python code இங்கு கொடுக்கப்பட்டுள்ளது.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from selenium import webdriver | |
a = webdriver.Firefox() | |
a.get("valaipathivu.wordpress.com/wp-admin"😉 | |
a.maximize_window() | |
a.find_element_by_xpath("//input[@id='user_login']").send_keys("valaipathivu") | |
a.find_element_by_xpath("//input[@id='user_pass']").send_keys("Kadavuchol") | |
a.find_element_by_xpath("//input[@id='wp-submit']").click() | |
print "Login is successful" | |
a.find_element_by_link_text("Posts").click() | |
a.find_element_by_link_text("Add New").click() | |
a.find_element_by_xpath("//input[@id='title']").send_keys("Tamil Kavithaikal") | |
a.find_element_by_xpath("//input[@id='publish']").click() | |
print "New post is Published" |
இப்போது மேற்கண்ட python code-ன் ஒவ்வொரு வரிக்கான விளக்கத்தையும் பின்வருமாறு காணலாம்.
1. selenium-ல் உள்ள webdriver எனும் கருவி நமது வலைத்தளப் பக்கங்களின் html மொழியுடன் தொடர்பு கொண்டு, ஒரு பயனர் என்னென்ன செய்ய வேண்டுமோ அதையெல்லாம் இந்தக் கருவியே செய்து விடும். எனவே இதனை முதலில் நமது program-ல் ஏற்றுமதி செய்துவிட வேண்டும். இதையே பின்வரும் வரி விளக்குகிறது.
from selenium import webdriver
2. அடுத்து webdriver எந்த browser-ஐ பயன்படுத்த வேண்டும் என்பது பின்வருமாறு குறிப்பிடப் பட்டுள்ளது. மேலும் இந்த விஷயம் நாம் எழுதப்போகும் ஒவ்வொரு வரியின் தொடக்கத்திலும் குறிப்பிடப்பட வேண்டும் என்பதால் இந்த விஷயத்தை a எனும் variable-க்கு assign செய்துள்ளோம்.
a = webdriver.Firefox()
3. இப்போது get() எனும் function மூலம் எந்த முகவரியைப் பயன்படுத்த வேண்டும் எனக் குறிப்பிட்டுள்ளோம்.
a.get(“https://valaipathivu.wordpress.com/wp-admin”)
4. maximize_window() எனும் function நமது browser-ஐ பெரிதுபடுத்த உதவும்.
5. அடுத்ததாக நாம் username மற்றும் password-ஐ wordpress-க்குள் செலுத்த வேண்டும். Webdriver-ஆனது வலைத்தளப் பக்கத்தில் உள்ள textbox-ன் id-யை வைத்து அந்த இடத்திற்குச் செல்ல find_element_by_xpath() எனும் function-ஐயும், அவ்வாறு கண்டுபிடிக்கப்பட்ட textbox-க்குள் மதிப்புகளைச் செலுத்த send_keys() எனும் function-ஐயும் பயன்படுத்துகிறது.
இப்போது அந்த இரண்டு textbox-ன் html id-ஐக் கண்டுபிடிக்க, அந்தப் பக்கத்தின் மீது ‘Rightclick’ செய்து ‘View Page Source ‘ என்பதின் மீது சொடுக்கவும்.
இது பின்வருமாறு ஒரு html file-ஐக் காட்டும்.
இதில் சென்று நமக்கு வேண்டிய இரண்டு textbox-ன் id-ஐக் கண்டுபிடிப்பது சற்று கடினமான விஷயம் தான். எனவே இதற்கான மாற்றுவழி என்னவெனில், browser-ல் சென்று Tools -> Web Developer -> Web Console என்பதை சொடுக்கவும்.
இது பின்வருமாறு ஒரு விஷயத்தை வலைத்தளப் பக்கத்தின் அடியில் வெளிப்படுத்தும். அங்கு சென்று ‘Pick an element from the page’எனும் icon-ன் மீது சொடுக்கவும்.
இனி நாம் வலைத்தளப் பக்கத்தில் சென்று எதன் மீது cursor-ஐ வைத்தாலும் அதன் html codeகீழே தெரியும். எனவே இங்கிருந்து நாம் ஒவ்வொரு textbox-ன் id-ஐயும் சுலபமாக கண்டுபிடித்துவிடலாம்.
5. அவ்வாறு கண்டுபிடிக்கப்பட்ட username, password textboxes & login buttons-ன் IDகளைப் பின்வருமாறு //input[] method-க்குள் கொடுக்க வேண்டும். send_keys எனும் method, username,password-ஐ அந்த textbox-க்குள் செலுத்தவும், click() என்பது buttons-ன் மீது சொடுக்கவும் பயன்பட்டுள்ளது.
a.find_element_by_xpath(“//input[@id=’user_login’]”).send_keys(“valaipathivu”)
a.find_element_by_xpath(“//input[@id=’user_pass’]”).send_keys(“Kadavuchol”)
a.find_element_by_xpath(“//input[@id=’wp-submit’]”).click()
6. இதையடுத்து வரும் print என்பது வெற்றிகரமாக உள்நுழைந்து விட்டோம் என்பதை பயனருக்கு வெளிப்படுத்த உதவுகிறது.
print “Login is successful”
7. இதைத் தொடர்ந்து கொடுக்கப்பட்டுள்ள பின்வரும் நிரல்கள் அனைத்தும் மேற்கூறிய concept-ஐப் பயன்படுத்தி எழுதப்பட்டவையே ஆகும். எனவே இவற்றை இப்போது நீங்களாகவே புரிந்து கொள்ள முடியும்.
a.find_element_by_link_text(“Posts”).click()
a.find_element_by_link_text(“Add New”).click()
a.find_element_by_xpath(“//input[@id=’title’]”).send_keys(“Tamil Kavithaikal”)
a.find_element_by_xpath(“//input[@id=’publish’]”).click()
a.find_element_by_link_text(“Close Sidebar”).click()
print “New post is Published”
இதன் output பின்வருமாறு
இதுபோன்று வலைத்தளப் பக்கங்களின் html மொழியுடன் தொடர்பு கொண்டு பல்வேறு வகையான விஷயங்களை நிகழ்த்துவதற்கு webdriver-ஆனது பல்வேறு வகையான methods, attributes, classes – ஐப் பயன்படுத்துகிறது. அவற்றில் ஒருசில முக்கியமானவைகளைப் பற்றி இங்கு காண்போம்.
இனிவரும் உதாரணங்கள் அனைத்திற்கும் நான் magento-demo.lexiconn.com/ எனும் வலைத்தளப் பக்கத்தைப் பயன்படுத்தப் போகிறேன்.