సెలీనియంతో టెక్స్ట్ ద్వారా ఎలిమెంట్‌ను ఎలా కనుగొనాలి

How Find Element Text With Selenium



వెబ్ పేజీ నుండి మూలకాలను గుర్తించడం మరియు ఎంచుకోవడం అనేది సెలీనియంతో వెబ్ స్క్రాపింగ్‌కు కీలకం. మీరు సెలీనియంలో ట్యాగ్ పేరు, ఐడి, క్లాస్ నేమ్, ఎక్స్‌పాత్ సెలెక్టర్, సిఎస్ఎస్ సెలెక్టర్ మొదలైన వాటిని ఉపయోగించి ఎలిమెంట్‌లను ఎంచుకోవచ్చు. మీరు సెలీనియంతో నిర్దిష్ట వచనాన్ని కలిగి ఉన్న అంశాలను కూడా ఎంచుకోవచ్చు. వెబ్ పేజీ నుండి లింకులు మరియు బటన్‌లను సులభంగా ఎంచుకోవడానికి ఇది ఉపయోగపడుతుంది. పేజీ నిర్మాణం మారినప్పటికీ, వెబ్ పేజీ మూలకం యొక్క వచనం అలాగే ఉన్నంత వరకు, మీ సెలెక్టర్ చక్కగా పని చేయాలి. సెలీనియంలో టెక్స్ట్ ఉపయోగించి లింకులు మరియు బటన్‌లను ఎంచుకోవడం వల్ల ఇది ప్రయోజనం.

ఈ వ్యాసంలో, సెలీనియం పైథాన్ లైబ్రరీతో సెలీనియంలో టెక్స్ట్ ఉపయోగించి వెబ్ పేజీల నుండి అంశాలను ఎలా గుర్తించాలో మరియు ఎలా ఎంచుకోవాలో నేను మీకు చూపించబోతున్నాను. కాబట్టి, ప్రారంభిద్దాం.







ముందస్తు అవసరాలు:

ఈ వ్యాసం యొక్క ఆదేశాలు మరియు ఉదాహరణలను ప్రయత్నించడానికి, మీరు వీటిని కలిగి ఉండాలి:



  1. మీ కంప్యూటర్‌లో ఇన్‌స్టాల్ చేయబడిన లైనక్స్ పంపిణీ (ప్రాధాన్యంగా ఉబుంటు).
  2. మీ కంప్యూటర్‌లో పైథాన్ 3 ఇన్‌స్టాల్ చేయబడింది.
  3. మీ కంప్యూటర్‌లో PIP 3 ఇన్‌స్టాల్ చేయబడింది.
  4. పైథాన్ virtualenv మీ కంప్యూటర్‌లో ప్యాకేజీ ఇన్‌స్టాల్ చేయబడింది.
  5. మీ కంప్యూటర్‌లో ఇన్‌స్టాల్ చేయబడిన మొజిల్లా ఫైర్‌ఫాక్స్ లేదా గూగుల్ క్రోమ్ వెబ్ బ్రౌజర్‌లు.
  6. ఫైర్‌ఫాక్స్ గెక్కో డ్రైవర్ లేదా క్రోమ్ వెబ్ డ్రైవర్‌ను ఎలా ఇన్‌స్టాల్ చేయాలో తెలుసుకోవాలి.

4, 5 మరియు 6 అవసరాలు నెరవేర్చడానికి, నా కథనాన్ని చదవండి పైథాన్ 3 లో సెలీనియం పరిచయం .



ఇతర అంశాలపై మీరు అనేక కథనాలను కనుగొనవచ్చు LinuxHint.com . మీకు ఏదైనా సహాయం అవసరమైతే వాటిని తనిఖీ చేయండి.





ప్రాజెక్ట్ డైరెక్టరీని సెటప్ చేస్తోంది:

ప్రతిదీ క్రమబద్ధంగా ఉంచడానికి, కొత్త ప్రాజెక్ట్ డైరెక్టరీని సృష్టించండి సెలీనియం-టెక్స్ట్-సెలెక్ట్/ కింది విధంగా:

$mkdir -పివిసెలీనియం-టెక్స్ట్-సెలెక్ట్/డ్రైవర్లు



కు నావిగేట్ చేయండి సెలీనియం-టెక్స్ట్-సెలెక్ట్/ ప్రాజెక్ట్ డైరెక్టరీ క్రింది విధంగా ఉంది:

$CDసెలీనియం-టెక్స్ట్-సెలెక్ట్/

ప్రాజెక్ట్ డైరెక్టరీలో పైథాన్ వర్చువల్ ఎన్విరాన్‌మెంట్‌ను ఈ క్రింది విధంగా సృష్టించండి:

$virtualenv .venv

వర్చువల్ ఎన్విరాన్‌మెంట్‌ను ఈ క్రింది విధంగా యాక్టివేట్ చేయండి:

$మూలం.venv/am/సక్రియం

ఈ క్రింది విధంగా PIP3 ఉపయోగించి సెలీనియం పైథాన్ లైబ్రరీని ఇన్‌స్టాల్ చేయండి:

$ pip3 సెలీనియంను ఇన్‌స్టాల్ చేయండి

లో అవసరమైన అన్ని వెబ్ డ్రైవర్‌లను డౌన్‌లోడ్ చేసి, ఇన్‌స్టాల్ చేయండి డ్రైవర్లు/ ప్రాజెక్ట్ డైరెక్టరీ. వెబ్‌డ్రైవర్‌లను డౌన్‌లోడ్ చేసి, ఇన్‌స్టాల్ చేసే విధానాన్ని నేను నా వ్యాసంలో వివరించాను పైథాన్ 3 లో సెలీనియం పరిచయం .

టెక్స్ట్ ద్వారా మూలకాలను కనుగొనడం:

ఈ విభాగంలో, సెలీనియం పైథాన్ లైబ్రరీతో టెక్స్ట్ ద్వారా వెబ్ పేజీ ఎలిమెంట్‌లను కనుగొని, ఎంచుకోవడానికి కొన్ని ఉదాహరణలను నేను మీకు చూపించబోతున్నాను.

నేను టెక్స్ట్ ద్వారా వెబ్ పేజీ మూలకాలను ఎంచుకోవడం, వెబ్ పేజీ నుండి లింక్‌లను ఎంచుకోవడం అనే సరళమైన ఉదాహరణతో ప్రారంభించబోతున్నాను.

Facebook.com యొక్క లాగిన్ పేజీలో, మాకు లింక్ ఉంది ఖాతా మర్చిపోయారా? మీరు దిగువ స్క్రీన్ షాట్‌లో చూడవచ్చు. సెలీనియంతో ఈ లింక్‌ని ఎంచుకుందాం.

కొత్త పైథాన్ స్క్రిప్ట్‌ను సృష్టించండి ex01.py మరియు కింది కోడ్‌ల పంక్తులను టైప్ చేయండి.

నుండిసెలీనియందిగుమతివెబ్‌డ్రైవర్
నుండిసెలీనియం.వెబ్‌డ్రైవర్.సాధారణ.కీలు దిగుమతికీలు
నుండిసెలీనియం.వెబ్‌డ్రైవర్.సాధారణ.ద్వారా దిగుమతిద్వారా
నుండి సమయం దిగుమతినిద్ర
బ్రౌజర్=వెబ్‌డ్రైవర్.క్రోమ్(అమలు చేయగల మార్గం='./drivers/chromedriver')
బ్రౌజర్.పొందండి('https://www.facebook.com/')
అకౌంట్ లింక్‌ను మర్చిపోయాను=బ్రౌజర్.కనుగొనండి(ద్వారా.XPATH, '
//*[టెక్స్ట్ () = 'అకౌంట్ మర్చిపోయారా?'] '
)
అకౌంట్ లింక్‌ను మర్చిపోయాను.పిల్లులు_ పంపండి(కీలు.ఎంటర్)

మీరు పూర్తి చేసిన తర్వాత, దాన్ని సేవ్ చేయండి ex01.py పైథాన్ స్క్రిప్ట్.

లైన్ 1-4 పైథాన్ ప్రోగ్రామ్‌లో అవసరమైన అన్ని భాగాలను దిగుమతి చేస్తుంది.

లైన్ 6 ఒక Chrome ని సృష్టిస్తుంది బ్రౌజర్ వస్తువు ఉపయోగించి వస్తువు క్రోమెడ్రైవర్ నుండి బైనరీ డ్రైవర్లు/ ప్రాజెక్ట్ డైరెక్టరీ.

Facebook.com వెబ్‌సైట్‌ను లోడ్ చేయమని లైన్ 8 బ్రౌజర్‌కి చెబుతుంది.

లైన్ 10 టెక్స్ట్ ఉన్న లింక్‌ను కనుగొంటుంది ఖాతా మర్చిపోయారా? XPath సెలెక్టర్ ఉపయోగించి. దాని కోసం, నేను XPath సెలెక్టర్‌ని ఉపయోగించాను //*[టెక్స్ట్ () = 'ఖాతా మర్చిపోయారా? ’] .

XPath సెలెక్టర్ దీనితో మొదలవుతుంది //, అంటే మూలకం పేజీలో ఎక్కడైనా ఉంటుంది. ది * ఏదైనా ట్యాగ్‌ని ఎంచుకోమని గుర్తు సెలీనియానికి చెబుతుంది ( కు లేదా p లేదా వ్యవధి, మొదలైనవి) చదరపు బ్రాకెట్లలోని స్థితికి సరిపోతుంది [] . ఇక్కడ, పరిస్థితి ఏమిటంటే, మూలకం టెక్స్ట్ సమానంగా ఉంటుంది ఖాతా మర్చిపోయారా?

ది టెక్స్ట్ () ఒక మూలకం యొక్క వచనాన్ని పొందడానికి 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 ని సృష్టిస్తుంది బ్రౌజర్ వస్తువు ఉపయోగించి వస్తువు క్రోమెడ్రైవర్ నుండి బైనరీ డ్రైవర్లు/ ప్రాజెక్ట్ డైరెక్టరీ.

Facebook.com వెబ్‌సైట్‌ను లోడ్ చేయమని లైన్ 8 బ్రౌజర్‌కి చెబుతుంది.

మీరు స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత ప్రతిదీ చాలా వేగంగా జరుగుతుంది. కాబట్టి, నేను ఉపయోగించాను నిద్ర () లో అనేక సార్లు ఫంక్షన్ ex02.py బ్రౌజర్ ఆదేశాలను ఆలస్యం చేయడం కోసం. ఈ విధంగా, ప్రతిదీ ఎలా పని చేస్తుందో మీరు గమనించవచ్చు.

లైన్ 11 ఇమెయిల్ ఇన్‌పుట్ టెక్స్ట్ బాక్స్‌ను కనుగొంటుంది మరియు మూలకం యొక్క సూచనను దీనిలో నిల్వ చేస్తుంది ఇమెయిల్ ఇన్పుట్ వేరియబుల్.

లైన్ 12 ఇమెయిల్ ఇన్‌పుట్ టెక్స్ట్ బాక్స్‌ను కనుగొంటుంది మరియు మూలకం యొక్క సూచనను దీనిలో నిల్వ చేస్తుంది ఇమెయిల్ ఇన్పుట్ వేరియబుల్.

13 వ పంక్తి లక్షణాన్ని కలిగి ఉన్న ఇన్‌పుట్ మూలకాన్ని కనుగొంటుంది విలువ యొక్క ప్రవేశించండి XPath సెలెక్టర్ ఉపయోగించి. దాని కోసం, నేను XPath సెలెక్టర్‌ని ఉపయోగించాను //*[@విలువ = 'లాగిన్'] .

XPath సెలెక్టర్ దీనితో మొదలవుతుంది // . దీని అర్థం మూలకం పేజీలో ఎక్కడైనా ఉంటుంది. ది * ఏదైనా ట్యాగ్‌ని ఎంచుకోమని గుర్తు సెలీనియానికి చెబుతుంది ( ఇన్పుట్ లేదా p లేదా వ్యవధి, మొదలైనవి) చదరపు బ్రాకెట్లలోని స్థితికి సరిపోతుంది [] . ఇక్కడ, పరిస్థితి, మూలకం లక్షణం విలువ సమానముగా ప్రవేశించండి .

లైన్ 15 ఇన్‌పుట్‌ను పంపుతుంది[ఇమెయిల్ రక్షించబడింది]ఇమెయిల్ ఇన్‌పుట్ టెక్స్ట్ బాక్స్‌కు, మరియు లైన్ 16 తదుపరి ఆపరేషన్‌ను ఆలస్యం చేస్తుంది.

లైన్ 18 పాస్‌వర్డ్ ఇన్‌పుట్ టెక్స్ట్ బాక్స్‌కు ఇన్‌పుట్ సీక్రెట్-పాస్‌ను పంపుతుంది మరియు 19 వ లైన్ తదుపరి ఆపరేషన్‌ను ఆలస్యం చేస్తుంది.

21 వ పంక్తి పంపుతుంది లాగిన్ బటన్‌ను నొక్కండి.

అమలు చేయండి ex02.py కింది ఆదేశంతో పైథాన్ స్క్రిప్ట్:

$ పైథాన్ 3 ex02.పై

మీరు చూడగలిగినట్లుగా, ఇమెయిల్ మరియు పాస్‌వర్డ్ టెక్స్ట్ బాక్స్‌లు మా డమ్మీ విలువలతో నిండి ఉన్నాయి మరియు ప్రవేశించండి బటన్ నొక్కింది.

అప్పుడు పేజీ కింది పేజీకి నావిగేట్ అవుతుంది.

పాక్షిక వచనం ద్వారా మూలకాలను కనుగొనడం:

మునుపటి విభాగంలో, నిర్దిష్ట టెక్స్ట్ ద్వారా మూలకాలను ఎలా కనుగొనాలో నేను మీకు చూపించాను. ఈ విభాగంలో, పాక్షిక వచనాన్ని ఉపయోగించి వెబ్ పేజీల నుండి మూలకాలను ఎలా కనుగొనాలో నేను మీకు చూపించబోతున్నాను.

ఉదాహరణలో, ex01.py , నేను టెక్స్ట్ ఉన్న లింక్ మూలకం కోసం శోధించాను ఖాతా మర్చిపోయారా? . మీరు పాక్షిక వచనాన్ని ఉపయోగించి అదే లింక్ మూలకాన్ని శోధించవచ్చు మర్చిపోయిన acc . దీన్ని చేయడానికి, మీరు దీనిని ఉపయోగించవచ్చు కలిగి ఉంది () 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 .

ముగింపు:

ఈ వ్యాసంలో, సెలీనియం పైథాన్ లైబ్రరీతో టెక్స్ట్ ద్వారా వెబ్ పేజీల నుండి అంశాలను ఎలా కనుగొనాలో మరియు ఎలా ఎంచుకోవాలో నేను మీకు చూపించాను. ఇప్పుడు, మీరు సెలీనియం పైథాన్ లైబ్రరీతో నిర్దిష్ట టెక్స్ట్ లేదా పాక్షిక టెక్స్ట్ ద్వారా వెబ్ పేజీల నుండి అంశాలను కనుగొనగలరు.