Selenium Webdriver – 1

உங்களுடையது linux கணிணியாக இருந்தால் terminal-ல் சென்று sudo pip install selenium என்று கொடுக்கவும். இது selenium webdriver-ஐ install செய்துவிடும். அப்படியே python-ஐயும் install செய்து கொள்ளவும்.

WordPress-க்குள் சென்று ஒரு புதிய blog-ஐ உருவாக்கி வெளியிடும் விதத்தை Webdriver – மூலம் தானாக இயங்க வைப்பதற்கான python code இங்கு கொடுக்கப்பட்டுள்ளது.


from selenium import webdriver
a = webdriver.Firefox()
a.get("valaipathivu.wordpress.com/wp-admin&quot😉
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"

view raw

wordpress.py

hosted with ❤ by GitHub


இப்போது மேற்கண்ட 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 ‘ என்பதின் மீது சொடுக்கவும்.

a

இது பின்வருமாறு ஒரு html file-ஐக் காட்டும்.

b
இதில் சென்று நமக்கு வேண்டிய இரண்டு textbox-ன் id-ஐக் கண்டுபிடிப்பது சற்று கடினமான விஷயம் தான். எனவே இதற்கான மாற்றுவழி என்னவெனில், browser-ல் சென்று Tools -> Web Developer -> Web Console  என்பதை சொடுக்கவும்.

c

இது பின்வருமாறு ஒரு விஷயத்தை வலைத்தளப் பக்கத்தின் அடியில் வெளிப்படுத்தும். அங்கு சென்று ‘Pick an element from the page’எனும் icon-ன் மீது சொடுக்கவும்.

d
இனி நாம் வலைத்தளப் பக்கத்தில் சென்று எதன் மீது cursor-ஐ வைத்தாலும் அதன் html codeகீழே தெரியும். எனவே இங்கிருந்து நாம் ஒவ்வொரு textbox-ன் id-ஐயும் சுலபமாக கண்டுபிடித்துவிடலாம்.

e

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 பின்வருமாறு

f

இதுபோன்று வலைத்தளப் பக்கங்களின் html மொழியுடன் தொடர்பு கொண்டு பல்வேறு வகையான விஷயங்களை நிகழ்த்துவதற்கு webdriver-ஆனது பல்வேறு வகையான methods, attributes, classes – ஐப் பயன்படுத்துகிறது. அவற்றில் ஒருசில முக்கியமானவைகளைப் பற்றி இங்கு காண்போம்.

இனிவரும் உதாரணங்கள் அனைத்திற்கும் நான் magento-demo.lexiconn.com/ எனும் வலைத்தளப் பக்கத்தைப் பயன்படுத்தப் போகிறேன்.

%d bloggers like this: