Panimula sa Selenium sa Python 3

Introduction Selenium Python 3



Ang siliniyum ay isang balangkas na ginamit para sa pagsubok ng mga aplikasyon sa web. Nag-i-automate ang Selenium ng isang browser, tulad ng Chrome o Firefox, upang magpatakbo ng mga pagsubok sa iyong ninanais na website. Ang siliniyum ay isa ring napakalakas na tool sa pag-scrap ng web. Sinusuportahan ng Selenium ang JavaScript at lahat ng mga modernong tampok sa browser. Ang tool na ito ay napaka epektibo sa pagkuha ng impormasyon mula sa mga website.

Ipapakita sa iyo ng artikulong ito kung paano i-set up ang Selenium sa iyong pamamahagi ng Linux (ibig sabihin, Ubuntu), pati na rin kung paano magsagawa ng pangunahing web automation at web scrapping sa Selenium Python 3 library.







Mga Pangangailangan

Upang subukan ang mga utos at halimbawang ginamit sa artikulong ito, dapat ay mayroon kang mga sumusunod:



1) Isang pamamahagi ng Linux (mas mabuti ang Ubuntu) na naka-install sa iyong computer.
2) Na-install ang Python 3 sa iyong computer.
3) naka-install na PIP 3 sa iyong computer.
4) Ang Google Chrome o Firefox web browser na naka-install sa iyong computer.



Maaari kang makahanap ng maraming mga artikulo sa mga paksang ito sa LinuxHint.com . Tiyaking suriin ang mga artikulong ito kung kailangan mo ng karagdagang tulong.





Paghahanda ng Python 3 Virtual na Kapaligiran para sa Proyekto

Ang Python Virtual Environment ay ginagamit upang lumikha ng isang nakahiwalay na direktoryo ng proyekto ng Python. Ang mga module ng Python na na-install mo gamit ang PIP ay mai-install sa direktoryo ng proyekto lamang, sa halip na pandaigdigan.

Ang Python virtualenv ginagamit ang module upang pamahalaan ang mga virtual na kapaligiran sa Python.



Maaari mong i-install ang Python virtualenv pandaigdigang module gamit ang PIP 3, tulad ng sumusunod:

$ sudo pip3 i-install ang virtualenv

I-download at i-install ng PIP3 ang buong kinakailangang mga module.

Sa puntong ito, ang Python virtualenv module ay dapat na naka-install sa buong mundo.

Lumikha ng direktoryo ng proyekto python-selenium-basic / sa iyong kasalukuyang gumaganang direktoryo, tulad ng sumusunod:

$ mkdir -pv python-selenium-basic / mga driver

Mag-navigate sa iyong bagong nilikha na direktoryo ng proyekto python-selenium-basic / , tulad ng sumusunod:

$CDpython-selenium-basic /

Lumikha ng isang virtual na kapaligiran ng Python sa iyong direktoryo ng proyekto gamit ang sumusunod na utos:

$ virtualenv.env

Ang virtual na kapaligiran ng Python ay dapat na nilikha sa iyong direktoryo ng proyekto. '

Isaaktibo ang virtual na kapaligiran ng Python sa iyong direktoryo ng proyekto sa pamamagitan ng sumusunod na utos:

$ mapagkukunan.env/ bin / buhayin

Tulad ng nakikita mo, ang virtual na kapaligiran ng Python ay naaktibo para sa direktoryo ng proyekto.

Pag-install ng Selenium Python Library

Ang silid silid ng Selenium Python ay magagamit sa opisyal na Repository ng Python PyPI.

Maaari mong mai-install ang library na ito gamit ang PIP 3, tulad ng sumusunod:

$ pip3 i-install ang siliniyum

Ang silid silid ng Selenium Python ay dapat na mai-install.

Ngayon na naka-install ang silid-aklatan ng Selenium Python, ang susunod na kailangan mong gawin ay mag-install ng isang web driver para sa iyong paboritong web browser. Sa artikulong ito, ipapakita ko sa iyo kung paano i-install ang mga driver ng web ng Firefox at Chrome para sa Selenium.

Pag-install ng Firefox Gecko Driver

Pinapayagan ka ng Driver ng Firefox Gecko na kontrolin o i-automate ang Firefox web browser gamit ang Selenium.

Upang i-download ang Firefox Gecko Driver, bisitahin ang Naglabas ang GitHub ng pahina ng mozilla / geckodriver mula sa isang web browser.

Tulad ng nakikita mo, ang v0.26.0 ay ang pinakabagong bersyon ng Firefox Gecko Driver sa oras na isinulat ang artikulong ito.

Upang ma-download ang Firefox Gecko Driver, mag-scroll pababa nang kaunti at mag-click sa Linux geckodriver tar.gz archive, depende sa arkitektura ng iyong operating system.

Kung gumagamit ka ng isang 32-bit na operating system, i-click ang geckodriver-v0.26.0-linux32.tar.gz link

Kung gumagamit ka ng isang 64-bit na operating system, i-click ang geckodriver-v0.26.0-linuxx64.tar.gz link

Sa aking kaso, mai-download ko ang 64-bit na bersyon ng Firefox Gecko Driver.

Dapat i-prompt ka ng iyong browser na i-save ang archive. Pumili I-save ang File at pagkatapos ay mag-click OK lang .

Dapat i-download ang archive ng Firefox Gecko Driver sa ~ / Mga Pag-download direktoryo

Kinuha ang geckodriver-v0.26.0-linux64.tar.gz archive mula sa ~ / Mga Pag-download direktoryo sa mga driver / direktoryo ng iyong proyekto sa pamamagitan ng pagpasok ng sumusunod na utos:

$alkitran -xzf~/Mga Pag-download/geckodriver-v0.26.0-linux64.tar.gz-Cmga driver/

Kapag ang archive ng Firefox Gecko Driver ay nakuha, isang bago tsekko driver binary file ay dapat na nilikha sa mga driver / direktoryo ng iyong proyekto, tulad ng nakikita mo sa screenshot sa ibaba.

Pagsubok sa Selenium Firefox Gecko Driver

Sa seksyong ito, ipapakita ko sa iyo kung paano i-set up ang iyong kauna-unahang script ng Selenium Python upang subukan kung gumagana ang Firefox Gecko Driver.

Una, buksan ang direktoryo ng proyekto python-selenium-basic / kasama ang iyong paboritong IDE o editor. Sa artikulong ito, gagamitin ko ang Visual Studio Code.

Lumikha ng bagong script ng Python ex01.py , at i-type ang mga sumusunod na linya sa script.

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi
mula sa oras angkatmatulog
browser=webdriver.Firefox(maipapatupad na_path='./drivers/geckodriver')
browserkumuha ka('http://www.google.com')
matulog(5)
browserhuminto()

Kapag tapos ka na, i-save ang ex01.py Python script.

Ipapaliwanag ko ang code sa isang susunod na seksyon ng artikulong ito.

Ang sumusunod na linya ay nag-configure ng Selenium upang magamit ang Firefox Gecko Driver mula sa mga driver / direktoryo ng iyong proyekto.

Upang masubukan kung ang Firefox Gecko Driver ay gumagana sa Selenium, patakbuhin ang sumusunod ex01.py Python script:

$ python3 ex01.py

Dapat awtomatikong bisitahin ng Firefox web browser ang Google.com at isara ang sarili pagkalipas ng 5 segundo. Kung nangyari ito, kung gayon ang Selenium Firefox Gecko Driver ay gumagana nang tama.

Pag-install ng Chrome Web Driver

Pinapayagan ka ng Chrome Web Driver na kontrolin o i-automate ang web browser ng Google Chrome gamit ang Selenium.

Dapat mong i-download ang parehong bersyon ng Chrome Web Driver tulad ng iyong Google Chrome web browser.

Upang mahanap ang numero ng bersyon ng iyong Google Chrome web browser, bisitahin chrome: // setting / help sa Google Chrome. Ang numero ng bersyon ay dapat nasa Tungkol sa Chrome seksyon, tulad ng nakikita mo sa screenshot sa ibaba.

Sa aking kaso, ang numero ng bersyon ay 83.0.4103.116 . Ang unang tatlong bahagi ng numero ng bersyon ( 83.0.4103 , sa aking kaso) dapat na tumugma sa unang tatlong bahagi ng numero ng bersyon ng Chrome Web Driver.

Upang mag-download ng Chrome Web Driver, bisitahin ang opisyal na pahina ng pag-download ng Chrome Driver .

Nasa Mga Kasalukuyang Paglabas seksyon, ang Chrome Web Driver para sa pinakabagong mga paglabas ng web browser ng Google Chrome ay magagamit, tulad ng nakikita mo sa screenshot sa ibaba.

Kung ang bersyon ng Google Chrome na iyong ginagamit ay wala sa Mga Kasalukuyang Paglabas seksyon, mag-scroll pababa nang kaunti, at dapat mong makita ang iyong ninanais na bersyon.

Kapag na-click mo ang tamang bersyon ng Chrome Web Driver, dapat ka nitong dalhin sa sumusunod na pahina. Mag-click sa chromedriver_linux64.zip link, tulad ng nakasaad sa screenshot sa ibaba.

Dapat na i-download ang archive ng Chrome Web Driver.

Dapat na i-download ang archive ng Chrome Web Driver sa ~ / Mga Pag-download direktoryo

Maaari mong kunin ang chromedriver-linux64.zip archive mula sa ~ / Mga Pag-download direktoryo sa mga driver / direktoryo ng iyong proyekto gamit ang sumusunod na utos:

$ unzip~/ Mga Pag-download / chromedriver_linux64.zip-d driver /

Kapag nakuha na ang archive ng Chrome Web Driver, bago chromedriver binary file ay dapat na nilikha sa mga driver / direktoryo ng iyong proyekto, tulad ng nakikita mo sa screenshot sa ibaba.

Pagsubok sa Selenium Chrome Web Driver

Sa seksyong ito, ipapakita ko sa iyo kung paano i-set up ang iyong kauna-unahang script ng Selenium Python upang subukan kung gumagana ang Chrome Web Driver.

Una, lumikha ng bagong script ng Python ex02.py , at i-type ang mga sumusunod na linya ng mga code sa script.

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi
mula sa oras angkatmatulog
browser=webdriver.Chrome(maipapatupad na_path='./drivers/chromedriver')
browserkumuha ka('http://www.google.com')
matulog(5)
browserhuminto()

Kapag tapos ka na, i-save ang ex02.py Python script.

Ipapaliwanag ko ang code sa isang susunod na seksyon ng artikulong ito.

Ang sumusunod na linya ay nag-configure ng Selenium upang magamit ang Chrome Web Driver mula sa mga driver / direktoryo ng iyong proyekto.

Upang masubukan kung gumagana ang Chrome Web Driver sa Selenium, patakbuhin ang ex02.py Python script, tulad ng sumusunod:

$ python3 ex01.py

Dapat awtomatikong bisitahin ng web browser ng Google Chrome ang Google.com at isara ang sarili pagkalipas ng 5 segundo. Kung nangyari ito, kung gayon ang Selenium Firefox Gecko Driver ay gumagana nang tama.

Mga Pangunahing Kaalaman sa Web Scraping with Selenium

Gumagamit ako ng Firefox web browser mula ngayon. Maaari mo ring gamitin ang Chrome, kung nais mo.

Ang isang pangunahing script ng Selenium Python ay dapat magmukhang script na ipinapakita sa screenshot sa ibaba.

Una, i-import ang Selenium webdriver galing sa siliniyum modyul

Susunod, i-import ang Mga susi mula sa siliniyum.webdriver.common.keys . Matutulungan ka nitong magpadala ng mga pagpindot sa keyboard key sa browser na iyong ini-automate mula sa Selenium.

Lumilikha ang sumusunod na linya ng a browser object para sa Firefox web browser gamit ang Firefox Gecko Driver (Webdriver). Maaari mong makontrol ang mga pagkilos ng browser ng Firefox gamit ang object na ito.

Upang mag-load ng isang website o URL (Ilo-load ko ang website https://www.duckduckgo.com ), tawagan ang kumuha () pamamaraan ng browser object sa iyong browser ng Firefox.

Gamit ang Selenium, maaari mong isulat ang iyong mga pagsubok, magsagawa ng web scrapping, at sa wakas, isara ang browser gamit ang umalis () pamamaraan ng browser bagay

Sa itaas ay ang pangunahing layout ng isang Selenium Python script. Isusulat mo ang mga linyang ito sa lahat ng iyong mga script sa Selenium Python.

Halimbawa 1: Pagpi-print ng Pamagat ng isang Webpage

Ito ang magiging pinakamadaling halimbawang tinalakay gamit ang Selenium. Sa halimbawang ito, mai-print namin ang pamagat ng webpage na bibisitahin namin.

Lumikha ng bagong file ex04.py at i-type ang mga sumusunod na linya ng mga code dito.

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi

browser=webdriver.Firefox(maipapatupad na_path='./drivers/geckodriver')

browserkumuha ka('https://www.duckduckgo.com')
mag-print('Pamagat:% s'% browser.pamagat)
browserhuminto()

Kapag tapos ka na, i-save ang file.

Narito, ang browser.title ay ginagamit upang ma-access ang pamagat ng binisita na webpage at ang i-print () gagamitin ang pagpapaandar upang mai-print ang pamagat sa console.

Matapos patakbuhin ang ex04.py script, dapat:

1) Buksan ang Firefox
2) I-load ang iyong ninanais na webpage
3) Kunin ang pamagat ng pahina
4) I-print ang pamagat sa console
5) At sa wakas, isara ang browser

Tulad ng nakikita mo, ang ex04.py na-print ng script ang pamagat ng webpage nang maayos sa console.

$ python3 ex04.py

Halimbawa 2: Pagpi-print ng Mga Pamagat ng Maramihang Mga Webpage

Tulad ng sa nakaraang halimbawa, maaari mong gamitin ang parehong pamamaraan upang mai-print ang pamagat ng maraming mga webpage gamit ang Python loop.

Upang maunawaan kung paano ito gumagana, lumikha ng bagong script ng Python ex05.py at i-type ang mga sumusunod na linya ng code sa script:

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi

browser=webdriver.Firefox(maipapatupad na_path='./drivers/geckodriver')


mga url= ['https://www.duckduckgo.com', 'https://linuxhint.com', 'https://yahoo.com']
para saurlsaurl:
browserkumuha ka(url)
mag-print('Pamagat:% s'% browser.pamagat)
browserhuminto()

Kapag tapos ka na, i-save ang script ng Python ex05.py .

Narito, ang mga url pinapanatili ng listahan ang URL ng bawat webpage.

SA para sa loop ay ginagamit upang umulit sa pamamagitan ng mga url listahan ng mga item.

Sa bawat pag-ulit, sinasabi ng Selenium sa browser na bisitahin ang url at makuha ang pamagat ng webpage. Kapag nakuha ng Selenium ang pamagat ng webpage, nai-print ito sa console.

Patakbuhin ang script ng Python ex05.py , at dapat mong makita ang pamagat ng bawat webpage sa mga url listahan

$ python3 ex05.py

Ito ay isang halimbawa ng kung paano maisasagawa ng Selenium ang parehong gawain sa maraming mga webpage o website.

Halimbawa 3: Pagkuha ng Data mula sa isang Webpage

Sa halimbawang ito, ipapakita ko sa iyo ang mga pangunahing kaalaman sa pagkuha ng data mula sa mga webpage na gumagamit ng Selenium. Kilala rin ito bilang web scraping.

Una, bisitahin ang Random.org link mula sa Firefox. Dapat bumuo ang pahina ng isang random na string, tulad ng nakikita mo sa screenshot sa ibaba.

Upang makuha ang random data ng string gamit ang Selenium, dapat mo ring malaman ang representasyon ng HTML ng data.

Upang makita kung paano kinatawan ang HTML ng data ng string, piliin ang data ng random na string at pindutin ang kanang pindutan ng mouse (RMB) at mag-click sa Suriin ang Elemento (Q) , tulad ng nakasaad sa screenshot sa ibaba.

Ang representasyon ng HTML ng data ay dapat ipakita sa Inspektor tab, tulad ng nakikita mo sa screenshot sa ibaba.

Maaari ka ring mag-click sa I-inspeksyon ang icon ( ) upang siyasatin ang data mula sa pahina.

Mag-click sa icon na siyasatin () at mag-hover sa random na data ng string na nais mong kunin. Ang representasyon ng HTML ng data ay dapat ipakita tulad ng dati.

Tulad ng nakikita mo, ang data ng random na string ay nakabalot sa isang HTML para sa tag at naglalaman ng klase data .

Ngayon alam na namin ang representasyon ng HTML ng data na nais naming kunin, lilikha kami ng isang script ng Python upang makuha ang data gamit ang Selenium.

Lumikha ng bagong script ng Python ex06.py at i-type ang mga sumusunod na linya ng mga code sa script

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi

browser=webdriver.Firefox(maipapatupad na_path='./drivers/geckodriver')

browserkumuha ka('https://www.random.org/strings/?num=1&len=20&digits
= on & upperalpha = on & loweralpha = on & natatanging = on & format = html & rnd = bago '
)

dataElement=browserfind_element_by_css_selector('pre.data')
mag-print(dataElement.text)
browserhuminto()

Kapag tapos ka na, i-save ang ex06.py Python script.

Narito, ang browser.get () naglo-load ang pamamaraan ng webpage sa browser ng Firefox.

Ang browser.find_element_by_css_selector () ang pamamaraan ay naghahanap sa HTML code ng pahina para sa tukoy na elemento at ibabalik ito.

Sa kasong ito, ang elemento ay magiging pre.data , ang para sa tag na mayroong pangalan ng klase data .

Sa ibaba ng pre.data ang sangkap ay naimbak sa dataElement variable.

Pagkatapos ay i-print ng script ang nilalaman ng teksto ng napili pre.data elemento.

Kung patakbuhin ang ex06.py Python script, dapat itong kunin ang data ng random string mula sa webpage, tulad ng nakikita mo sa screenshot sa ibaba.

$ python3 ex06.py

Tulad ng nakikita mo, sa tuwing tatakbo ang ex06.py Python script, kumukuha ito ng iba't ibang mga random na data ng string string mula sa webpage.

Halimbawa 4: Kinukuha ang Listahan ng Data mula sa Webpage

Ipinakita sa iyo ng nakaraang halimbawa kung paano kumuha ng isang solong elemento ng data mula sa isang webpage gamit ang Selenium. Sa halimbawang ito, ipapakita ko sa iyo kung paano gamitin ang Selenium upang kumuha ng isang listahan ng data mula sa isang webpage.

Una, bisitahin ang random-name-generator.info mula sa iyong browser sa Firefox. Ang website na ito ay bubuo ng sampung mga random na pangalan sa bawat oras na i-reload mo ang pahina, tulad ng nakikita mo sa screenshot sa ibaba. Ang aming layunin ay upang makuha ang mga random na pangalan gamit ang Selenium.

Kung susuriin mo nang mas malapit ang listahan ng pangalan, maaari mong makita na ito ay isang order na listahan ( mamatay tag) Ang mamatay kasama rin sa tag ang pangalan ng klase Listahan ng pangalan . Ang bawat isa sa mga random na pangalan ay kinakatawan bilang isang item sa listahan ( sa tag) sa loob ng mamatay tag

Upang makuha ang mga random na pangalan na ito, lumikha ng bagong script ng Python ex07.py at i-type ang mga sumusunod na linya ng mga code sa script.

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi

browser=webdriver.Firefox(maipapatupad na_path='./drivers/geckodriver')

browserkumuha ka('http://random-name-generator.info/')

Listahan ng pangalan=browserfind_elements_by_css_selector('ol.nameList li')

para sapangalansaListahan ng pangalan:
mag-print(pangalantext)

browserhuminto()

Kapag tapos ka na, i-save ang ex07.py Python script.

Narito, ang browser.get () Naglo-load ang pamamaraan ng random na pangalan ng webpage ng generator sa Firefox browser.

Ang browser.find_elements_by_css_selector () ginagamit ng pamamaraan ang tagapili ng CSS ol.nameList li upang hanapin ang lahat sa elemento sa loob ng mamatay tag ang pagkakaroon ng pangalan ng klase Listahan ng pangalan . Naimbak ko na ang lahat ng napili sa mga elemento sa Listahan ng pangalan variable.

SA para sa loop ay ginagamit upang umulit sa pamamagitan ng Listahan ng pangalan Listahan ng sa mga elemento. Sa bawat pag-ulit, ang nilalaman ng sa ang elemento ay nakalimbag sa console.

Kung patakbuhin ang ex07.py Python script, kukunin nito ang lahat ng mga random na pangalan mula sa webpage at mai-print ito sa screen, tulad ng nakikita mo sa screenshot sa ibaba.

$ python3 ex07.py

Kung patakbuhin mo ang script sa pangalawang pagkakataon, dapat itong bumalik ng isang bagong listahan ng mga random na pangalan ng gumagamit, tulad ng nakikita mo sa screenshot sa ibaba.

Halimbawa 5: Pagsumite ng Form - Paghahanap sa DuckDuckGo

Ang halimbawang ito ay kasing simple lamang ng unang halimbawa. Sa halimbawang ito, bibisitahin ko ang search engine ng DuckDuckGo at hahanapin ang term siliniyum hq gamit ang Selenium.

Una, bisitahin DuckDuckGo Search Engine mula sa Firefox web browser.

Kung susuriin mo ang patlang ng pag-input ng paghahanap, dapat itong magkaroon ng id search_form_input_homepage , tulad ng nakikita mo sa screenshot sa ibaba.

Ngayon, lumikha ng bagong script ng Python ex08.py at i-type ang mga sumusunod na linya ng mga code sa script.

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi
browser=webdriver.Firefox(maipapatupad na_path='./drivers/geckodriver')
browserkumuha ka('https://duckduckgo.com/')
searchInput=browserfind_element_by_id('search_form_input_homepage')
searchInput.send_keys('selenium hq'+ Mga Susi.ENTER)

Kapag tapos ka na, i-save ang ex08.py Python script.

Narito, ang browser.get () Naglo-load ang pamamaraan ng homepage ng search engine ng DuckDuckGo sa browser ng Firefox.

Ang browser.find_element_by_id () Pinipili ng pamamaraan ang sangkap ng pag-input kasama ang id search_form_input_homepage at iniimbak ito sa searchInput variable.

Ang searchInput.send_keys () ginagamit ang pamamaraan upang maipadala ang key press data sa input field. Sa halimbawang ito, ipinapadala ang string siliniyum hq , at ang Enter key ay pinindot gamit ang Susi.ENTER palagiang

Sa sandaling matanggap ng search engine ng DuckDuckGo ang Enter key press ( Susi.ENTER ), naghahanap ito at ipinapakita ang resulta.

Patakbuhin ang ex08.py Python script, tulad ng sumusunod:

$ python3 ex08.py

Tulad ng nakikita mo, binisita ng web browser ng Firefox ang search engine ng DuckDuckGo.

Awtomatiko itong nag-type siliniyum hq sa kahon ng teksto ng paghahanap.

Sa sandaling natanggap ng browser ang Enter key press ( Susi.ENTER ), ipinakita nito ang resulta ng paghahanap.

Halimbawa 6: Pagsumite ng isang Form sa W3Schools.com

Sa halimbawa 5, ang pagsumite ng form ng search engine ng DuckDuckGo ay madali. Ang kailangan mo lang gawin ay pindutin ang Enter key. Ngunit hindi ito ang magiging kaso para sa lahat ng pagsumite ng form. Sa halimbawang ito, ipapakita ko sa iyo ang mas kumplikadong paghawak ng form.

Una, bisitahin ang Pahina ng Mga form ng HTML ng W3Schools.com mula sa Firefox web browser. Kapag naglo-load ang pahina, dapat kang makakita ng isang halimbawa ng form. Ito ang form na isusumite namin sa halimbawang ito.

Kung susuriin mo ang form, ang Pangalan ang patlang ng pag-input ay dapat magkaroon ng id fname , ang Huling pangalan ang patlang ng pag-input ay dapat magkaroon ng id lname , at ang Magsumite ng pindutan dapat magkaroon ng uri ipasa , tulad ng nakikita mo sa screenshot sa ibaba.

Upang isumite ang form na ito gamit ang Selenium, lumikha ng bagong script sa Python ex09.py at i-type ang mga sumusunod na linya ng mga code sa script.

mula sasiliniyumangkatwebdriver
mula sasiliniyumwebdriver.pangkaraniwan.mga susi angkatMga susi
browser=webdriver.Firefox(maipapatupad na_path='./drivers/geckodriver')
browserkumuha ka('https://www.w3schools.com/html/html_forms.asp')
fname=browserfind_element_by_id('fname')
fname.malinaw()
fname.send_keys('Shahriar')
lname=browserfind_element_by_id('lname')
lname.malinaw()
lname.send_keys('Shovon')
magsumite ng Pindutan=browserfind_element_by_css_selector('input [type =' isumite ']')
magsumite ng Pindutan.send_keys(Mga susi.ENTER)

Kapag tapos ka na, i-save ang ex09.py Python script.

Narito, ang browser.get () binubuksan ng pamamaraan ang pahina ng mga form na W3schools HTML sa browser ng Firefox.

Ang browser.find_element_by_id () nahahanap ng pamamaraan ang mga patlang ng pag-input ng id fname at lname at iniimbak ang mga ito sa fname at lname variable, ayon sa pagkakabanggit.

Ang fname.clear () at lname.clear () tinanggal ng mga pamamaraan ang default na unang pangalan (John) fname halaga at apelyido (Doe) lname halaga mula sa mga patlang ng pag-input.

Ang fname.send_keys () at lname.send_keys () uri ng pamamaraan Shahriar at Shovon nasa Pangalan at Huling pangalan mga patlang ng pag-input, ayon sa pagkakabanggit.

Ang browser.find_element_by_css_selector () pipiliin ng pamamaraan ang Magsumite ng pindutan ng form at iniimbak ito sa magsumite ng Pindutan variable.

Ang magsumite ng Button.send_keys () nagpapadala ang pamamaraan ng Enter key press ( Susi.ENTER ) sa Magsumite ng pindutan ng form. Isinumite ng pagkilos na ito ang form.

Patakbuhin ang ex09.py Python script, tulad ng sumusunod:

$ python3 ex09.py

Tulad ng nakikita mo, ang form ay awtomatikong naisumite na may tamang mga input.

Konklusyon

Ang artikulong ito ay dapat makatulong sa iyo na makapagsimula sa Pagsubok ng browser ng Selenium, pag-automate ng web, at mga aklatan ng web scrapping sa Python 3. Para sa karagdagang impormasyon, tingnan ang opisyal na Selenium Python Documentation .