Selenium

Kā atsvaidzināt lapu ar selēnu

Kā atsvaidzināt lapu ar selēnu
Tīmekļa lapu atsvaidzināšana ir ļoti izplatīta darbība. Mēs atjauninām vietni, lai redzētu atjauninātos rezultātus. Tas pats attiecas uz pārlūka testēšanu, tīmekļa automatizāciju un tīmekļa nokasīšanu ar Selenium tīmekļa draiveri.

Šajā rakstā es parādīšu, kā atsvaidzināt lapu 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ēna atsvaidzināšana / sekojoši:

$ mkdir -pv selenium-refresh / draiveri

Pārejiet uz selēna atsvaidzināšana / projekta direktoriju šādi:

$ cd selēns-atsvaidzināt /

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.

1. metode: pārlūka atsvaidzināšanas () metodes izmantošana

Pirmā metode ir vienkāršākā un ieteicamā atsvaidzinošās lapas ar Selenium metode.

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

no selēna importa tīmekļa draivera
no selēna.tīmekļa draiveris.bieži.atslēgu importēšana
no laika importa miegs
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_xpath ("// h3 [@ class = 'text-threat'] [1]")
drukāt ('Pašreizējais laika zīmogs:% s'% (laika zīmogs.tekstu.sadalīt (") [0]))
gulēt (5)
pārlūku.atjaunot()
timestamp = pārlūks.find_element_by_xpath ("// h3 [@ class = 'text -anger'] [1]")
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 ex01.py Python skripts.

1. un 2. rindā tiek importēti visi nepieciešamie selēna komponenti.

3. rinda importē miega () funkciju no laika bibliotēkas. Es to izmantošu, lai dažas sekundes pagaidītu, līdz vietne tiks atjaunināta, lai pēc tīmekļa vietnes atsvaidzināšanas mēs varētu iegūt jaunus datus.

5. rindiņa izveido objektu Chrome opcijas, bet 6. rindiņa ļauj Chrome tīmekļa pārlūkprogrammai izmantot režīmu bez galvas.

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

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

11. Rindā atrod elementu, kuram ir laika zīmoga dati no lapas, izmantojot atlasītāju XPath, un saglabā tos mapē laika zīmogs mainīgais.

12. rindiņa parsē elementa laika zīmoga datus un izdrukā tos konsolē.

14. rindā tiek izmantots Gulēt() funkcija gaidīt 5 sekundes.

15. rinda atsvaidzina pašreizējo lapu, izmantojot pārlūku.atjaunot() metodi.

17. un 18. rinda ir tāda pati kā 11. un 12. līnija. Tas atrod laika zīmoga elementu no lapas un izdrukā atjaunināto laika zīmogu konsolē.

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

Palaidiet Python skriptu ex01.py sekojoši:

$ python3 ex01.py

Kā redzat, laika zīmogs tiek drukāts uz konsoles.

Pēc 5 sekundes pēc pirmā laika zīmoga izdrukāšanas lapa tiek atsvaidzināta, un atjauninātais laika zīmogs tiek izdrukāts konsolē, kā redzat zemāk redzamajā ekrānuzņēmumā.

2. metode: pārskatiet to pašu URL

Otra lapas atsvaidzināšanas metode ir atkārtoti apmeklēt to pašu URL, izmantojot pārlūku.gūt() metodi.

Izveidojiet Python skriptu ex02.py projekta direktorijā un ierakstiet tajā sekojošās kodu rindas.

no selēna importa tīmekļa draivera
no selēna.tīmekļa draiveris.bieži.atslēgu importēšana
no laika importa miegs
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_xpath ("// h3 [@ class = 'text -anger'] [1]")
drukāt ('Pašreizējais laika zīmogs:% s'% (laika zīmogs.tekstu.sadalīt (") [0]))
gulēt (5)
pārlūku.iegūt (pārlūks.pašreizējais_url)
timestamp = pārlūks.find_element_by_xpath ("// h3 [@ class = 'text -anger'] [1]")
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 ex02.py Python skripts.

Viss ir tāds pats kā ex01.py. Vienīgā atšķirība ir 15. rindā.

Lūk, es izmantoju pārlūku.gūt() metode, lai apmeklētu pašreizējo lapas URL. Pašreizējam lapas URL var piekļūt, izmantojot pārlūku.current_url īpašums.

Palaidiet ex02.py Python skripts šādi:

$ python3 ex02.py

Kā redzat, Pythion skripts ex02.py izdrukā tāda paša veida informāciju kā ex01.py.

Secinājums:

Šajā rakstā es jums parādīju 2 metodes, kā atsvaidzināt pašreizējo vietni, izmantojot Selenium Python bibliotēku. Tagad jums vajadzētu būt iespējai darīt vairāk interesantu lietu ar Selenium.

Kā izmantot AutoKey, lai automatizētu Linux spēles
AutoKey ir darbvirsmas automatizācijas lietderība operētājsistēmām Linux un X11, kas ieprogrammēta Python 3, GTK un Qt. Izmantojot skriptu un MACRO fu...
Kā parādīt FPS skaitītāju Linux spēlēs
Linux spēles ieguva lielu impulsu, kad Valve 2012. gadā paziņoja par Linux atbalstu Steam klientam un viņu spēlēm. Kopš tā laika daudzas AAA un indie ...
Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...