Python 3'te Selenyum'a Giriş

Introduction Selenium Python 3



Selenium, web uygulamalarını test etmek için kullanılan bir çerçevedir. Selenium, istediğiniz web sitesinde testleri çalıştırmak için Chrome veya Firefox gibi bir tarayıcıyı otomatikleştirir. Selenium ayrıca çok güçlü bir web kazıma aracıdır. Selenium, JavaScript'i ve tüm modern tarayıcı özelliklerini destekler. Bu araç, web sitelerinden bilgi çıkarmada çok etkilidir.

Bu makale, Selenium'u Linux dağıtımınızda (yani Ubuntu) nasıl kuracağınızı ve Selenium Python 3 kitaplığı ile temel web otomasyonunu ve web hurdasını nasıl gerçekleştireceğinizi gösterecektir.







Önkoşullar

Bu makalede kullanılan komutları ve örnekleri denemek için aşağıdakilere sahip olmanız gerekir:



1) Bilgisayarınızda kurulu bir Linux dağıtımı (tercihen Ubuntu).
2) Bilgisayarınızda yüklü olan Python 3.
3) Bilgisayarınızda yüklü PIP 3.
4) Bilgisayarınızda yüklü olan Google Chrome veya Firefox web tarayıcısı.



Bu konularla ilgili birçok makaleyi adresinde bulabilirsiniz. LinuxHint.com . Daha fazla yardıma ihtiyacınız olursa bu makaleleri kontrol ettiğinizden emin olun.





Python 3 Sanal Ortamını Projeye Hazırlama

Python Sanal Ortamı, yalıtılmış bir Python proje dizini oluşturmak için kullanılır. PIP kullanarak kurduğunuz Python modülleri, global olarak değil, yalnızca proje dizinine kurulacaktır.

Python sanal ortam modülü Python sanal ortamlarını yönetmek için kullanılır.



Python'u yükleyebilirsiniz sanal ortam modül küresel olarak PIP 3'ü kullanarak aşağıdaki gibi:

$ sudo pip3 sanalenv yükleyin

PIP3, gerekli tüm modülleri indirecek ve global olarak kuracaktır.

Bu noktada Python sanal ortam modül global olarak kurulmalıdır.

Proje dizini oluşturun piton-selenyum-temel/ geçerli çalışma dizininizde aşağıdaki gibi:

$ mkdir -pv python-selenium-temel/sürücüler

Yeni oluşturduğunuz proje dizininize gidin piton-selenyum-temel/ , aşağıdaki gibi:

$CDpiton-selenyum-temel/

Aşağıdaki komutla proje dizininizde bir Python sanal ortamı oluşturun:

$ sanalenv.ortam

Python sanal ortamı şimdi proje dizininizde oluşturulmalıdır.'

Proje dizininizdeki Python sanal ortamını aşağıdaki komutla etkinleştirin:

$ kaynak.ortam/bin/etkinleştir

Gördüğünüz gibi bu proje dizini için Python sanal ortamı aktif hale getirildi.

Selenium Python Kitaplığını Yükleme

Selenium Python kitaplığı, resmi Python PyPI deposunda mevcuttur.

Bu kitaplığı PIP 3 kullanarak aşağıdaki gibi kurabilirsiniz:

$ pip3 selenyum yükleyin

Selenium Python kitaplığı şimdi yüklenmiş olmalıdır.

Selenium Python kitaplığı kurulduğuna göre, yapmanız gereken bir sonraki şey favori web tarayıcınız için bir web sürücüsü kurmaktır. Bu yazımda sizlere Selenium için Firefox ve Chrome web sürücülerini nasıl kuracağınızı göstereceğim.

Firefox Gecko Sürücüsünü Yükleme

Firefox Gecko Sürücüsü, Selenium kullanarak Firefox web tarayıcısını kontrol etmenize veya otomatikleştirmenize olanak tanır.

Firefox Gecko Sürücüsünü indirmek için şu adresi ziyaret edin: GitHub, mozilla/geckodriver sayfasını yayınladı bir web tarayıcısından.

Gördüğünüz gibi v0.26.0, bu makalenin yazıldığı tarihteki Firefox Gecko Sürücüsünün en son sürümüdür.

Firefox Gecko Sürücüsünü indirmek için biraz aşağı kaydırın ve işletim sistemi mimarinize bağlı olarak Linux geckodriver tar.gz arşivine tıklayın.

32 bit işletim sistemi kullanıyorsanız, geckodriver-v0.26.0-linux32.tar.gz bağlantı.

64 bit işletim sistemi kullanıyorsanız, geckodriver-v0.26.0-linuxx64.tar.gz bağlantı.

Benim durumumda, Firefox Gecko Sürücüsünün 64-bit sürümünü indireceğim.

Tarayıcınız sizden arşivi kaydetmenizi ister. Seçme Dosyayı kaydet ve ardından tıklayın Tamam .

Firefox Gecko Sürücü arşivi şuradan indirilmelidir: ~/İndirilenler dizin.

ayıklayın geckodriver-v0.26.0-linux64.tar.gz arşivden arşivlemek ~/İndirilenler dizine sürücüler/ aşağıdaki komutu girerek projenizin dizini:

$katran -xzf~/İndirilenler/geckodriver-v0.26.0-linux64.tar.gz-Csürücüler/

Firefox Gecko Sürücü arşivi çıkarıldıktan sonra, yeni bir geko sürücüsü ikili dosya oluşturulmalıdır. sürücüler/ Aşağıdaki ekran görüntüsünde de görebileceğiniz gibi projenizin dizini.

Selenium Firefox Gecko Sürücüsünü Test Etme

Bu bölümde, Firefox Gecko Sürücüsünün çalışıp çalışmadığını test etmek için ilk Selenium Python betiğinizi nasıl kuracağınızı göstereceğim.

İlk önce proje dizinini açın piton-selenyum-temel/ en sevdiğiniz IDE veya düzenleyici ile. Bu yazımda Visual Studio Code kullanacağım.

Yeni Python betiğini oluşturun ex01.py ve komut dosyasına aşağıdaki satırları yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar
itibaren zaman içe aktarmakuyku
tarayıcı=web sürücüsü.Firefox(yürütülebilir_yol='./drivers/geckodriver')
tarayıcı.elde etmek('http://www.google.com')
uyku(5)
tarayıcı.çıkış yapmak()

İşiniz bittiğinde, kaydedin ex01.py Python komut dosyası.

Kodu bu makalenin sonraki bir bölümünde açıklayacağım.

Aşağıdaki satır, Selenium'u Firefox Gecko Sürücüsünü şuradan kullanacak şekilde yapılandırır: sürücüler/ projenizin dizini.

Firefox Gecko Sürücüsünün Selenium ile çalışıp çalışmadığını test etmek için aşağıdakileri çalıştırın ex01.py Python komut dosyası:

$ python3 ex01.p

Firefox web tarayıcısı otomatik olarak Google.com'u ziyaret etmeli ve 5 saniye sonra kendini kapatmalıdır. Bu meydana gelirse, Selenium Firefox Gecko Sürücüsü düzgün çalışıyordur.

Chrome Web Sürücüsünü Yükleme

Chrome Web Sürücüsü, Selenium kullanarak Google Chrome web tarayıcısını kontrol etmenize veya otomatikleştirmenize olanak tanır.

Google Chrome web tarayıcınızınkiyle aynı Chrome Web Sürücüsü sürümünü indirmeniz gerekir.

Google Chrome web tarayıcınızın sürüm numarasını bulmak için şu adresi ziyaret edin: chrome://ayarlar/yardım Google Chrome'da. Sürüm numarası şurada olmalıdır: Chrome hakkında bölümünde, aşağıdaki ekran görüntüsünde görebileceğiniz gibi.

Benim durumumda, sürüm numarası 83.0.4103.116 . Sürüm numarasının ilk üç bölümü ( 83.0.4103 , benim durumumda) Chrome Web Sürücüsü sürüm numarasının ilk üç bölümüyle eşleşmelidir.

Chrome Web Sürücüsünü indirmek için şu adresi ziyaret edin: resmi Chrome Sürücü indirme sayfası .

İçinde Güncel Sürümler bölümünde, aşağıdaki ekran görüntüsünde görebileceğiniz gibi, Google Chrome web tarayıcısının en güncel sürümleri için Chrome Web Sürücüsü mevcut olacaktır.

Kullanmakta olduğunuz Google Chrome sürümü, Güncel Sürümler bölümünde biraz aşağı kaydırın ve istediğiniz sürümü bulmalısınız.

Doğru Chrome Web Sürücüsü sürümüne tıkladığınızda, sizi aşağıdaki sayfaya götürmelidir. Tıkla chromedriver_linux64.zip bağlantı, aşağıdaki ekran görüntüsünde belirtildiği gibi.

Chrome Web Sürücüsü arşivi şimdi indirilmelidir.

Chrome Web Sürücüsü arşivi şimdi şuradan indirilmelidir: ~/İndirilenler dizin.

çıkarabilirsiniz chromedriver-linux64.zip arşivden arşivlemek ~/İndirilenler dizine sürücüler/ projenizin dizini aşağıdaki komutla:

$ sıkıştırmayı aç~/İndirilenler/chromedriver_linux64.fermuar-d sürücüler/

Chrome Web Sürücüsü arşivi çıkarıldıktan sonra, yeni bir krom sürücü ikili dosya oluşturulmalıdır. sürücüler/ Aşağıdaki ekran görüntüsünde de görebileceğiniz gibi projenizin dizini.

Selenium Chrome Web Sürücüsünü Test Etme

Bu bölümde, Chrome Web Sürücüsünün çalışıp çalışmadığını test etmek için ilk Selenium Python komut dosyanızı nasıl kuracağınızı göstereceğim.

İlk önce, yeni Python betiğini oluşturun ex02.py tıklayın ve komut dosyasına aşağıdaki kod satırlarını yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar
itibaren zaman içe aktarmakuyku
tarayıcı=web sürücüsü.Krom(yürütülebilir_yol='./drivers/chromedriver')
tarayıcı.elde etmek('http://www.google.com')
uyku(5)
tarayıcı.çıkış yapmak()

İşiniz bittiğinde, kaydedin ex02.py Python komut dosyası.

Kodu bu makalenin sonraki bir bölümünde açıklayacağım.

Aşağıdaki satır, Selenium'u Chrome Web Sürücüsünü şu adresten kullanacak şekilde yapılandırır: sürücüler/ projenizin dizini.

Chrome Web Sürücüsünün Selenium ile çalışıp çalışmadığını test etmek için ex02.py Python betiği aşağıdaki gibidir:

$ python3 ex01.p

Google Chrome web tarayıcısı otomatik olarak Google.com'u ziyaret etmeli ve 5 saniye sonra kendini kapatmalıdır. Bu meydana gelirse, Selenium Firefox Gecko Sürücüsü düzgün çalışıyordur.

Selenyum ile Web Kazımanın Temelleri

Bundan sonra Firefox web tarayıcısını kullanacağım. İsterseniz Chrome'u da kullanabilirsiniz.

Temel bir Selenium Python betiği, aşağıdaki ekran görüntüsünde gösterilen betik gibi görünmelidir.

İlk olarak, Selenium'u içe aktarın web sürücüsü itibaren selenyum modül.

Ardından, içe aktarın Anahtarlar itibaren selenium.webdriver.common.keys . Bu, Selenium'dan otomatikleştirdiğiniz tarayıcıya klavye tuşlarına basmanıza yardımcı olacaktır.

Aşağıdaki satır bir tarayıcı Firefox Gecko Sürücüsünü (Web sürücüsü) kullanarak Firefox web tarayıcısı için nesne. Bu nesneyi kullanarak Firefox tarayıcı eylemlerini kontrol edebilirsiniz.

Bir web sitesi veya URL yüklemek için (Web sitesini yükleyeceğim https://www.duckduckgo.com ), ara elde etmek() yöntemi tarayıcı Firefox tarayıcınızda nesne.

Selenium'u kullanarak testlerinizi yazabilir, web kazıma işlemi gerçekleştirebilir ve son olarak aşağıdakileri kullanarak tarayıcıyı kapatabilirsiniz. çıkış yapmak() yöntemi tarayıcı nesne.

Yukarıda bir Selenium Python betiğinin temel düzeni verilmiştir. Bu satırları tüm Selenium Python komut dosyalarınızda yazacaksınız.

Örnek 1: Bir Web Sayfasının Başlığını Yazdırma

Bu, Selenium kullanılarak tartışılan en kolay örnek olacaktır. Bu örnekte, ziyaret edeceğimiz web sayfasının başlığını yazdıracağız.

Yeni dosyayı oluştur ex04.py ve aşağıdaki kod satırlarını içine yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar

tarayıcı=web sürücüsü.Firefox(yürütülebilir_yol='./drivers/geckodriver')

tarayıcı.elde etmek('https://www.duckduckgo.com')
Yazdır('Başlık: %s'% tarayıcı.Başlık)
tarayıcı.çıkış yapmak()

İşiniz bittiğinde dosyayı kaydedin.

Burada, tarayıcı.başlık ziyaret edilen web sayfasının başlığına erişmek için kullanılır ve Yazdır() işlevi, başlığı konsolda yazdırmak için kullanılacaktır.

çalıştırdıktan sonra ex04.py komut dosyası, olmalıdır:

1) Firefox'u açın
2) İstediğiniz web sayfasını yükleyin
3) Sayfanın başlığını getir
4) Başlığı konsola yazdırın
5) Ve son olarak tarayıcıyı kapatın

Gördüğünüz gibi, ex04.py script, web sayfasının başlığını konsolda güzel bir şekilde yazdırdı.

$ python3 ex04.p

Örnek 2: Birden Çok Web Sayfasının Başlıklarını Yazdırma

Önceki örnekte olduğu gibi, Python döngüsünü kullanarak birden çok web sayfasının başlığını yazdırmak için aynı yöntemi kullanabilirsiniz.

Bunun nasıl çalıştığını anlamak için yeni Python betiğini oluşturun ex05.py ve komut dosyasına aşağıdaki kod satırlarını yazın:

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar

tarayıcı=web sürücüsü.Firefox(yürütülebilir_yol='./drivers/geckodriver')


url'ler= ['https://www.duckduckgo.com', 'https://linuxhint.com', 'https://yahoo.com']
içinurliçindeurl'ler:
tarayıcı.elde etmek(url)
Yazdır('Başlık: %s'% tarayıcı.Başlık)
tarayıcı.çıkış yapmak()

İşiniz bittiğinde Python betiğini kaydedin ex05.py .

Burada, url'ler list, her web sayfasının URL'sini tutar.

İLE için döngü boyunca yineleme yapmak için kullanılır url'ler öğeleri listeleyin.

Selenium, her yinelemede tarayıcıya url ve web sayfasının başlığını alın. Selenium web sayfasının başlığını çıkardıktan sonra konsolda yazdırılır.

Python betiğini çalıştırın ex05.py ve her web sayfasının başlığını url'ler liste.

$ python3 ex05.p

Bu, Selenium'un aynı görevi birden çok web sayfası veya web sitesiyle nasıl gerçekleştirebileceğinin bir örneğidir.

Örnek 3: Bir Web Sayfasından Veri Çıkarma

Bu örnekte, Selenium kullanarak web sayfalarından veri çıkarmanın temellerini göstereceğim. Bu aynı zamanda web kazıma olarak da bilinir.

İlk olarak, ziyaret edin Random.org Firefox'tan bağlantı. Aşağıdaki ekran görüntüsünde görebileceğiniz gibi, sayfa rastgele bir dize oluşturmalıdır.

Selenium kullanarak rastgele dize verilerini çıkarmak için, verilerin HTML temsilini de bilmeniz gerekir.

Rastgele dizi verilerinin HTML'de nasıl temsil edildiğini görmek için, rastgele dizi verilerini seçin ve sağ fare düğmesine (RMB) basın ve tıklayın. Elemanı Kontrol Et (Q) , aşağıdaki ekran görüntüsünde belirtildiği gibi.

Verilerin HTML gösterimi, Müfettiş sekmesi, aşağıdaki ekran görüntüsünde görebileceğiniz gibi.

Ayrıca üzerine tıklayabilirsiniz İncele simgesi ( ) Sayfadaki verileri incelemek için.

İncele simgesine ( ) tıklayın ve çıkarmak istediğiniz rastgele dize verilerinin üzerine gelin. Verilerin HTML gösterimi daha önce olduğu gibi görüntülenmelidir.

Gördüğünüz gibi, rastgele dize verileri bir HTML'ye sarılır. için etiketi ve sınıfı içerir veri .

Artık ayıklamak istediğimiz verilerin HTML gösterimini bildiğimize göre, Selenium kullanarak verileri çıkarmak için bir Python betiği oluşturacağız.

Yeni Python betiğini oluşturun ex06.py ve komut dosyasına aşağıdaki kod satırlarını yazın

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar

tarayıcı=web sürücüsü.Firefox(yürütülebilir_yol='./drivers/geckodriver')

tarayıcı.elde etmek('https://www.random.org/strings/?num=1&len=20&digits
=on&upperalpha=on&loweralpha=on&unique=on&format=html&rnd=yeni'
)

dataElement=tarayıcı.find_element_by_css_selector('ön veri')
Yazdır(dataElement.Metin)
tarayıcı.çıkış yapmak()

İşiniz bittiğinde, kaydedin ex06.py Python komut dosyası.

Burada, tarayıcı.get() yöntem, web sayfasını Firefox tarayıcısına yükler.

NS browser.find_element_by_css_selector() method, belirli bir öğe için sayfanın HTML kodunu arar ve onu döndürür.

Bu durumda, eleman olacaktır. ön veri , NS için sınıf adına sahip etiket veri .

Aşağıda, ön veri eleman saklandı dataElement değişken.

Komut dosyası daha sonra seçili olanın metin içeriğini yazdırır. ön veri öğe.

çalıştırırsanız ex06.py Python betiği, aşağıdaki ekran görüntüsünde görebileceğiniz gibi, web sayfasından rastgele dize verilerini çıkarmalıdır.

$ python3 ex06.p

Gördüğünüz gibi, her çalıştırdığımda ex06.py Python betiği, web sayfasından farklı bir rastgele dize verisi çıkarır.

Örnek 4: Web Sayfasından Veri Listesini Çıkarma

Önceki örnek, Selenium kullanarak bir web sayfasından tek bir veri öğesinin nasıl çıkarılacağını gösterdi. Bu örnekte, bir web sayfasından bir veri listesi çıkarmak için Selenium'u nasıl kullanacağınızı göstereceğim.

İlk olarak, ziyaret edin rastgele isim üreteci.info Firefox web tarayıcınızdan. Bu web sitesi, aşağıdaki ekran görüntüsünde görebileceğiniz gibi, sayfayı her yeniden yüklediğinizde on rastgele isim üretecektir. Amacımız bu rastgele isimleri Selenium kullanarak çıkarmaktır.

İsim listesini daha yakından incelerseniz sıralı bir liste olduğunu görebilirsiniz ( ol etiket). NS ol etiketi ayrıca sınıf adını da içerir isim listesi . Rastgele adların her biri bir liste öğesi olarak temsil edilir ( de etiketi) içinde ol etiket.

Bu rastgele adları çıkarmak için yeni Python betiğini oluşturun ex07.py ve komut dosyasına aşağıdaki kod satırlarını yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar

tarayıcı=web sürücüsü.Firefox(yürütülebilir_yol='./drivers/geckodriver')

tarayıcı.elde etmek('http://random-name-generator.info/')

isim listesi=tarayıcı.find_elements_by_css_selector('ol.nameList li')

içinisimiçindeisim listesi:
Yazdır(isim.Metin)

tarayıcı.çıkış yapmak()

İşiniz bittiğinde, kaydedin ex07.py Python komut dosyası.

Burada, tarayıcı.get() yöntem, rasgele ad oluşturucu web sayfasını Firefox tarayıcısına yükler.

NS browser.find_elements_by_css_selector() yöntem CSS seçiciyi kullanır ol.nameList li hepsini bulmak için de içindeki elemanlar ol sınıf adına sahip etiket isim listesi . seçilenlerin hepsini kaydettim de içindeki elemanlar isim listesi değişken.

İLE için döngü boyunca yineleme yapmak için kullanılır isim listesi listesi de elementler. Her yinelemede, içeriğin de eleman konsolda yazdırılır.

çalıştırırsanız ex07.py Python betiği, aşağıdaki ekran görüntüsünde görebileceğiniz gibi, web sayfasından tüm rastgele adları alacak ve ekrana yazdıracaktır.

$ python3 ex07.p

Komut dosyasını ikinci kez çalıştırırsanız, aşağıdaki ekran görüntüsünde görebileceğiniz gibi, yeni bir rastgele kullanıcı adları listesi döndürmelidir.

Örnek 5: Form Gönderme – DuckDuckGo'da Arama

Bu örnek, ilk örnek kadar basittir. Bu örnekte, DuckDuckGo arama motorunu ziyaret edeceğim ve terimi arayacağım. selenyum hq Selenyum kullanarak.

İlk ziyaret DuckDuckGo Arama Motoru Firefox web tarayıcısından.

Arama giriş alanını incelerseniz, kimliğine sahip olmalıdır. search_form_input_homepage , aşağıdaki ekran görüntüsünde görebileceğiniz gibi.

Şimdi yeni Python betiğini oluşturun ex08.py ve komut dosyasına aşağıdaki kod satırlarını yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar
tarayıcı=web sürücüsü.Firefox(yürütülebilir_yol='./drivers/geckodriver')
tarayıcı.elde etmek('https://duckduckgo.com/')
aramaGirdi=tarayıcı.find_element_by_id('search_form_input_homepage')
aramaGirdi.send_keys('selenyum hq'+ Anahtarlar.GİRMEK)

İşiniz bittiğinde, kaydedin ex08.py Python komut dosyası.

Burada, tarayıcı.get() yöntemi, DuckDuckGo arama motorunun ana sayfasını Firefox web tarayıcısına yükler.

NS browser.find_element_by_id() yöntem, kimliğe sahip giriş öğesini seçer search_form_input_homepage ve içinde saklar aramaGirdi değişken.

NS searchInput.send_keys() Yöntem, tuşa basma verilerini giriş alanına göndermek için kullanılır. Bu örnekte, dizeyi gönderir selenyum hq ve Enter tuşuna basarak Anahtarlar.ENTER devamlı.

DuckDuckGo arama motoru Enter tuşuna basınca ( Anahtarlar.ENTER ), sonucu arar ve görüntüler.

Çalıştır ex08.py Python betiği aşağıdaki gibidir:

$ python3 ex08.p

Gördüğünüz gibi, Firefox web tarayıcısı DuckDuckGo arama motorunu ziyaret etti.

Otomatik olarak yazdı selenyum hq arama metin kutusunda.

Tarayıcı Enter tuşunu alır almaz ( Anahtarlar.ENTER ), arama sonucunu gösterdi.

Örnek 6: W3Schools.com'da Form Gönderme

Örnek 5'te, DuckDuckGo arama motoru formu gönderimi kolaydı. Tek yapmanız gereken Enter tuşuna basmaktı. Ancak bu, tüm form gönderimleri için geçerli olmayacaktır. Bu örnekte size daha karmaşık form işlemeyi göstereceğim.

İlk olarak, ziyaret edin W3Schools.com'un HTML Formları sayfası Firefox web tarayıcısından. Sayfa yüklendiğinde, örnek bir form görmelisiniz. Bu örnekte göndereceğimiz form budur.

Formu incelerseniz, İlk adı giriş alanı kimliğine sahip olmalıdır isim , NS Soyadı giriş alanı kimliğine sahip olmalıdır ad , ve Gönder düğmesi sahip olmalı tip Sunmak , aşağıdaki ekran görüntüsünde görebileceğiniz gibi.

Bu formu Selenium kullanarak göndermek için yeni Python komut dosyasını oluşturun ex09.py ve komut dosyasına aşağıdaki kod satırlarını yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar
tarayıcı=web sürücüsü.Firefox(yürütülebilir_yol='./drivers/geckodriver')
tarayıcı.elde etmek('https://www.w3schools.com/html/html_forms.asp')
isim=tarayıcı.find_element_by_id('isim')
isim.açık()
isim.send_keys('Şehriyar')
ad=tarayıcı.find_element_by_id('isim')
ad.açık()
ad.send_keys('Şovon')
GönderDüğmesi=tarayıcı.find_element_by_css_selector('girdi[tip='gönder']')
gönderDüğmesi.send_keys(Anahtarlar.GİRMEK)

İşiniz bittiğinde, kaydedin ex09.py Python komut dosyası.

Burada, tarayıcı.get() yöntemi, Firefox web tarayıcısında W3schools HTML formları sayfasını açar.

NS browser.find_element_by_id() yöntem, giriş alanlarını kimliğe göre bulur isim ve ad ve bunları içinde saklar isim ve ad sırasıyla değişkenler.

NS fname.clear() ve lname.clear() yöntemler varsayılan adı temizler (John) isim değer ve soyadı (Doe) ad giriş alanlarından değer.

NS fname.send_keys() ve lname.send_keys() yöntem türü Şehriyar ve Şovon içinde İlk adı ve Soyadı sırasıyla giriş alanları.

NS browser.find_element_by_css_selector() yöntemi seçer Gönder düğmesi formun içinde saklar ve GönderDüğmesi değişken.

NS sendButton.send_keys() yöntem, Enter tuşuna basmayı gönderir ( Anahtarlar.ENTER ) için Gönder düğmesi şeklinde. Bu eylem formu gönderir.

Çalıştır ex09.py Python betiği aşağıdaki gibidir:

$ python3 ex09.p

Gördüğünüz gibi, form doğru girişlerle otomatik olarak gönderildi.

Çözüm

Bu makale, Python 3'te Selenium tarayıcı testi, web otomasyonu ve web hurdaya çıkarma kitaplıkları ile başlamanıza yardımcı olacaktır. resmi Selenyum Python Belgeleri .