Selenium

Elementu atrašana, izmantojot CSS selektorus ar selēnu

Elementu atrašana, izmantojot CSS selektorus ar selēnu
Tīmekļa lapas elementu atrašana un atlase ir atslēga, lai tīmekli nokasītu ar Selenium. Lai atrastu un atlasītu elementus no tīmekļa lapas, selenijā varat izmantot CSS selektorus.Šajā rakstā es parādīšu, kā atrast un atlasīt tīmekļa lapu elementus, izmantojot Selenium CSS selektorus ar Selenium python bibliotēku. Tātad, sāksim darbu.

Priekšnosacījumi:

Lai izmēģinātu šī raksta komandas un piemērus, jums ir jābūt,

1) Linux izplatīšana (vēlams, Ubuntu), kas instalēta jūsu datorā.
2) Python 3 instalēts jūsu datorā.
3) PIP 3 instalēts jūsu datorā.
4) pitons virtualenv pakotne instalēta jūsu datorā.
5) datorā instalētas Mozilla Firefox vai Google Chrome tīmekļa pārlūkprogrammas.
6) Jāzina, kā instalēt Firefox Gecko draiveri vai Chrome tīmekļa draiveri.

Lai izpildītu 4., 5. un 6. prasību, izlasiet manu rakstu Iepazīšanās ar selēnu ar Python 3 pie Linuxhint.com.

Vietnē LinuxHint varat atrast daudz rakstu par citām tēmām.com. Noteikti pārbaudiet tos, ja jums nepieciešama palīdzība.

Projektu direktorijas iestatīšana:

Lai viss būtu sakārtots, izveidojiet jaunu projekta direktoriju selēns-css-selektors / sekojoši:

$ mkdir -pv selenium-css-selector / draiveri

Pārejiet uz selēns-css-selektors / projekta direktoriju šādi:

$ cd selenium-css-selector /

Izveidojiet Python virtuālo vidi projekta direktorijā šādi:

$ virtualenv .venv

Aktivizējiet virtuālo vidi šādi:

$ avots .venv / bin / aktivizēt

Instalējiet Selenium Python bibliotēku, izmantojot PIP3, šādi:

$ pip3 instalējiet selēnu

Lejupielādējiet un instalējiet visu nepieciešamo tīmekļa draiveri vadītāji / projekta direktoriju. Es savā rakstā esmu izskaidrojis tīmekļa draiveru lejupielādes un instalēšanas procesu Iepazīšanās ar selēnu ar Python 3. Ja jums nepieciešama palīdzība, meklējiet vietnē LinuxHint.com par to rakstu.

Iegūstiet CSS atlasītāju, izmantojot Chrome izstrādātāja rīku:

Šajā sadaļā es parādīšu, kā atrast selekcijas Web lapas elementu, kuru vēlaties atlasīt, izmantojot Selenium, izmantojot iebūvēto Google Chrome tīmekļa pārlūkprogrammas izstrādātāja rīku.

Lai iegūtu CSS selektoru, izmantojot Google Chrome tīmekļa pārlūkprogrammu, atveriet Google Chrome un apmeklējiet vietni, no kuras vēlaties iegūt datus. Pēc tam tukšā lapas apgabalā nospiediet peles labo pogu (RMB) un noklikšķiniet uz Pārbaudiet lai atvērtu Chrome izstrādātāja rīks.

Varat arī nospiest + Shift + Es lai atvērtu Chrome izstrādātāja rīks.

Chrome izstrādātāja rīks būtu jāatver.

Lai atrastu vēlamā tīmekļa lapas elementa HTML attēlojumu, noklikšķiniet uz Pārbaudiet() ikona, kā norādīts zemāk redzamajā ekrānuzņēmumā.

Pēc tam virziet kursoru virs vajadzīgā tīmekļa lapas elementa un nospiediet peles kreiso pogu (LMB), lai to atlasītu.

Atlasītā tīmekļa elementa HTML attēlojums tiks izcelts Elementi cilne Chrome izstrādātāja rīks kā redzat zemāk redzamajā ekrānuzņēmumā.

Lai iegūtu vēlamā elementa CSS atlasītāju, atlasiet elementu no Elementi cilne Chrome izstrādātāja rīks un ar peles labo pogu noklikšķiniet uz tā (RMB). Pēc tam atlasiet Kopēt > Kopiju atlasītājs kā norādīts zemāk redzamajā ekrānuzņēmumā.

CSS selektoru esmu ielīmējis teksta redaktorā. CSS selektors izskatās kā parādīts zemāk esošajā ekrānuzņēmumā.

Iegūstiet CSS atlasītāju, izmantojot Firefox izstrādātāja rīku:

Šajā sadaļā es parādīšu, kā atrast selekcijas Web lapas elementu, kuru vēlaties atlasīt, izmantojot Selenium, izmantojot Mozilla Firefox tīmekļa pārlūkprogrammas iebūvēto izstrādātāja rīku.

Lai iegūtu CSS selektoru, izmantojot Firefox tīmekļa pārlūku, atveriet Firefox un apmeklējiet vietni, no kuras vēlaties iegūt datus. Pēc tam tukšā lapas apgabalā nospiediet peles labo pogu (RMB) un noklikšķiniet uz Pārbaudīt elementu (Q) lai atvērtu Firefox izstrādātāja rīks.

Firefox izstrādātāja rīks būtu jāatver.

Lai atrastu vēlamā tīmekļa lapas elementa HTML attēlojumu, noklikšķiniet uz Pārbaudiet() ikona, kā norādīts zemāk redzamajā ekrānuzņēmumā.

Pēc tam virziet kursoru virs vajadzīgā tīmekļa lapas elementa un nospiediet peles kreiso pogu (LMB), lai to atlasītu.

Atlasītā tīmekļa elementa HTML attēlojums tiks izcelts Inspektors cilne Firefox izstrādātāja rīks kā redzat zemāk redzamajā ekrānuzņēmumā.

Lai iegūtu vēlamā elementa CSS atlasītāju, atlasiet elementu no Inspektors cilne Firefox izstrādātāja rīks un ar peles labo pogu noklikšķiniet uz tā (RMB). Pēc tam atlasiet Kopēt > CSS atlasītājs kā norādīts zemāk redzamajā ekrānuzņēmumā.

Jūsu vēlamā elementa CSS atlasītājam vajadzētu izskatīties apmēram šādi.

Datu iegūšana, izmantojot CSS selektoru ar selēnu:

Šajā sadaļā es parādīšu, kā atlasīt tīmekļa lapas elementus un iegūt datus no tiem, izmantojot CSS selektorus ar Selenium Python bibliotēku.

Vispirms izveidojiet jaunu Python skriptu ex00.py un ierakstiet šādas kodu rindas.

no selēna importa tīmekļa draivera
no selēna.tīmekļa draiveris.bieži.atslēgu importēšana
no selēna.tīmekļa draiveris.bieži.pēc importa
opcijas = tīmekļa draiveris.Chrome opcijas ()
iespējas.bez galvas = patiess
pārlūks = tīmekļa draiveris.Chrome (izpildāmā_ceļš = "./ draiveri / chromedriver ", opcijas = opcijas)
pārlūku.get ("https: // www.unixtimestamp.com / ")
timestamp = pārlūks.find_element_by_css_selector ('h3.teksta briesmas: n-bērns (3) ')
drukāt ('Pašreizējais laika zīmogs:% s'% (laika zīmogs.tekstu.sadalīt (") [0]))
pārlūku.aizvērt ()

Kad esat pabeidzis, saglabājiet ex00.py Python skripts.

1.3.rindā tiek importēti visi nepieciešamie selēna komponenti.

5. rindā tiek izveidots objekts Chrome opcijas, bet 6. rindā tiek iespējots režīms bez galvas Chrome tīmekļa pārlūkprogrammai.

8. rindiņa izveido Chrome pārlūku objektu, izmantojot hromedriver binārs no vadītāji / projekta direktoriju.

10. rinda liek pārlūkprogrammai ielādēt vietnes unikxtimestamp.com.

12. Rindā atrod elementu, kuram ir laika zīmoga dati no lapas, izmantojot CSS selektoru, un saglabā tos mapē laika zīmogs mainīgais.

13. rinda parsē elementa laika zīmoga datus un izdrukā tos konsolē.

Tas ir, kā HTML struktūra UNIX laika zīmoga datus unixtimestamp.com izskatās.

14. rindiņa aizver pārlūku.

Palaidiet Python skriptu ex00.py sekojoši:

$ python3 ex00.py

Kā redzat, laika zīmoga dati tiek drukāti uz ekrāna.

Lūk, es esmu izmantojis pārlūku.atrast_elementu (pēc atlasītāja) metodi.

Tā kā mēs izmantojam CSS selektorus, pirmais parametrs būs Autors.CSS_SELECTOR un otrais parametrs būs pats CSS atlasītājs.

Tā vietā pārlūku.atrast_elementu () metodi, varat arī izmantot pārlūku.find_element_by_css_selector (atlasītājs) metodi. Lai šī metode darbotos, ir nepieciešams tikai CSS atlasītājs. Rezultāts būs tāds pats.

The pārlūku.atrast_elementu () un pārlūku.find_element_by_css_selector () metodes tiek izmantotas, lai tīmekļa lapā atrastu un atlasītu vienu elementu. Ja vēlaties atrast un atlasīt vairākus elementus, izmantojot CSS selektorus, jums tas ir jāizmanto pārlūku.atrast_elementus () un pārlūku.find_elements_by_css_selector () metodes.

The pārlūku.atrast_elementus () metode ņem tos pašus argumentus kā pārlūku.atrast_elementu () metodi.

The pārlūku.find_elements_by_css_selector () metode izmanto to pašu argumentu kā pārlūku.find_element_by_css_selector () metodi.

Apskatīsim piemēru vārdu saraksta iegūšanai, izmantojot CSS selektorus no random-name-generator.info ar Selēnu.

Kā redzat, nesakārtotajam sarakstam ir klases nosaukums nameList. Tātad, mēs varam izmantot CSS selektoru .nameList li lai no Web lapas atlasītu visus vārdus.

Apskatīsim piemēru, kā tīmekļa lapā atlasīt vairākus elementus, izmantojot CSS selektorus.

Izveidojiet jaunu Python skriptu ex01.py un tajā ierakstiet šādas kodu rindas.

no selēna importa tīmekļa draivera
no selēna.tīmekļa draiveris.bieži.atslēgu importēšana
no selēna.tīmekļa draiveris.bieži.pēc importa
opcijas = tīmekļa draiveris.Chrome opcijas ()
iespējas.bez galvas = patiess
pārlūks = tīmekļa draiveris.Chrome (izpildāmā_ceļš = "./ draiveri / chromedriver ", opcijas = opcijas)
pārlūku.get ("http: // izlases nosaukumu ģenerators.info / ")
nosaukumi = pārlūks.atrast_elementus (Autors.CSS_SELECTOR, '.nameList li ')
vārdam nosaukumos:
drukāt (nosaukums.teksts)
pārlūku.aizvērt ()

Kad esat pabeidzis, saglabājiet ex01.py Python skripts.

1. – 8. Rinda ir tāda pati kā rindā ex00.py Python skripts. Tāpēc es tos šeit vairs nepaskaidrošu.

10. rinda liek pārlūkprogrammai ielādēt vietni random-name-generator.info.

12. rindā tiek atlasīts vārdu saraksts, izmantojot pārlūku.atrast_elementus () metodi. Šajā metodē tiek izmantots CSS selektors .nameList li lai atrastu vārdu sarakstu. Pēc tam vārdu saraksts tiek saglabāts mapē nosaukumi mainīgais.

13. un 14. rindā a priekš cilpa tiek izmantota iterācijai caur nosaukumi sarakstu un izdrukājiet vārdus konsolē.

16. rindiņa aizver pārlūku.

Palaidiet Python skriptu ex01.py sekojoši:

$ python3 ex01.py

Kā redzat, vārdi tiek izvilkti no tīmekļa lapas un izdrukāti konsolē.

Tā vietā, lai izmantotu pārlūku.atrast_elementus () metodi, varat izmantot arī pārlūku.find_elements_by_css_selector () metodi kā iepriekš. Lai šī metode darbotos, ir nepieciešams tikai CSS atlasītājs. Rezultāts būs tāds pats.

CSS atlasītāju pamati:

Tīmekļa lapas elementa CSS atlasītāju vienmēr varat atrast, izmantojot Firefox vai Chrome tīmekļa pārlūkprogrammas izstrādātāja rīku. Šis automātiski ģenerētais CSS atlasītājs var nebūt tas, ko vēlaties. Reizēm jums, iespējams, būs jāraksta CSS atlasītājs.

Šajā sadaļā es runāšu par CSS atlasītāju pamatiem, lai jūs varētu saprast, ko kāds CSS atlasītājs izvēlas no tīmekļa lapas, un, ja nepieciešams, uzrakstiet savu pielāgoto CSS selektoru.

Ja vēlaties no Web lapas atlasīt elementu, izmantojot ID ziņu, CSS atlasītājs būs # ziņojums.

CSS atlasītājs .zaļa atlasīs elementu, izmantojot klases nosaukumu zaļa.

Ja vēlaties atlasīt elementu (klase ziņojums) cita elementa (klases konteiners), CSS atlasītājs būs .konteiners .ziņojums

CSS atlasītājs .ziņojums.panākumi atlasīs elementu, kuram ir divas CSS klases ziņojums un panākumi.

Lai atlasītu visus lpp tagus, varat izmantot CSS selektoru lpp.

Lai atlasītu tikai lpp tagi iekšpusē div tagus, varat izmantot CSS selektoru div lpp

Lai atlasītu lpp tagi, kas ir div tagus, varat izmantot CSS selektoru div> lpp

Lai atlasītu visus laidums un lpp tagus, varat izmantot CSS selektoru p, laidums

Lai atlasītu lpp tagu tūlīt pēc div tagu, varat izmantot CSS selektoru div + lpp

Lai atlasītu lpp tagu pēc div tagu, varat izmantot CSS selektoru div ~ lpp

Lai atlasītu visus lpp tagi, kuriem ir klases nosaukums ziņojums, varat izmantot CSS selektoru lpp.ziņojums

Lai atlasītu visus laidums tagi, kuriem ir klases nosaukums ziņojums, varat izmantot CSS selektoru laidums.ziņojums

Lai atlasītu visus elementus, kuriem ir atribūts href, varat izmantot CSS selektoru [href]

Lai atlasītu elementu, kuram ir atribūts nosaukums un vērtība nosaukums atribūts ir lietotājvārds, varat izmantot CSS selektoru [vārds = ”lietotājvārds”]

Lai atlasītu visus elementus, kuriem ir atribūts alt un vērtība alt atribūts, kas satur apakšvirkni vscode, varat izmantot CSS selektoru [alt ~ = ”vscode”]

Lai atlasītu visus elementus, kuriem ir href atribūts un vērtība href atribūts sākas ar virkni https, varat izmantot CSS selektoru [href ^ = ”https”]

Lai atlasītu visus elementus, kuriem ir href atribūts un vērtība href atribūts, kas beidzas ar virkni .com, varat izmantot CSS selektoru [href $ = ”.com ”]

Lai atlasītu visus elementus, kuriem ir href atribūts un vērtība href atribūtam ir apakšvirkne google, varat izmantot CSS selektoru [href * = ”google”]

Ja vēlaties atlasīt pirmo li tag iekšā ul tagu, varat izmantot CSS selektoru ul li: pirmais bērns

Ja vēlaties atlasīt pirmo li tag iekšā ul tagu, varat izmantot arī CSS selektoru ul li: n -tais bērns (1)

Ja vēlaties atlasīt pēdējo li tag iekšā ul tagu, varat izmantot CSS selektoru ul li: pēdējais bērns

Ja vēlaties atlasīt pēdējo li tag iekšā ul tagu, varat izmantot arī CSS selektoru ul li: n-pēdējais bērns (1)

Ja vēlaties atlasīt otro li tag iekšā ul sākot no sākuma, varat izmantot CSS selektoru ul li: n -tais bērns (2)

Ja vēlaties atlasīt trešo li tag iekšā ul sākot no sākuma, varat izmantot CSS selektoru ul li: n-bērns (3)

Ja vēlaties atlasīt otro li tag iekšā ul sākot no beigām, varat izmantot CSS selektoru ul li: n-pēdējais bērns (2)

Ja vēlaties atlasīt trešo li tag iekšā ul sākot no beigām, varat izmantot CSS selektoru ul li: n-pēdējais bērns (3)

Šie ir visizplatītākie CSS atlasītāji. Jūs tos atradīsit gandrīz visos Selenium projektos. CSS atlasītāju ir daudz vairāk. Visu to sarakstu varat atrast w3schools.com CSS selektoru atsauce.

Secinājums:

Šajā rakstā es parādīju, kā atrast un atlasīt tīmekļa lapas elementus, izmantojot CSS selektorus ar Selenium. Esmu apspriedis arī CSS atlasītāju pamatus. Saviem Selenium projektiem jums vajadzētu būt iespējai ērti izmantot CSS selektorus.

5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...