oynozan
Kilopat
- Katılım
- 4 Eylül 2018
- Mesajlar
- 2.982
- Makaleler
- 2
- Çözümler
- 32
Daha fazla
- Cinsiyet
- Erkek
- Meslek
- Öğrenci
Herkese selam. Bu yazıda sizlere basit ama etkili bir Python & Selenium uygulaması göstermek istiyorum.
Bilmeyenler için Selenium bir browser otomasyon kütüphanesidir. Tarayıcı üzerindeki işlemleri yazılım aracılığıyla simüle eder. Yazacağımız script'te de yine kendi kodladığım bir klavye hız testi uygulamasını bozacağım. Gerçek bir klavye hız testi sitesini kullanmama sebebim büyük ihtimal bana ban atacak olmaları ayrıca orada gerçek kullanıcılar yarışıyor, onların da hakkına girmemize gerek yok.
Öncelikle yazı yazma testi uygulamasına biz göz atalım.
Görüldüğü üzere kelimelerin olduğu alandaki ilk kelime
Ayrıca sonra result class'ına sahip bir kutu var. Oyunun başında bu kutu boşken oyunun sonunda bu kutunun içine p etiketleri ekleniyor. Bunu da Selenium'u ne zaman durduracağımızı anlamak için kullanabiliriz.
Artık koda geçelim:
Aşağıda program çalıştığında ne kadar hızlı yazdığına ve daha detaylı anlatıma sahip videomu bulabilirsiniz (İngilizce):
Herkese iyi Sosyaller!
Bilmeyenler için Selenium bir browser otomasyon kütüphanesidir. Tarayıcı üzerindeki işlemleri yazılım aracılığıyla simüle eder. Yazacağımız script'te de yine kendi kodladığım bir klavye hız testi uygulamasını bozacağım. Gerçek bir klavye hız testi sitesini kullanmama sebebim büyük ihtimal bana ban atacak olmaları ayrıca orada gerçek kullanıcılar yarışıyor, onların da hakkına girmemize gerek yok.
Öncelikle yazı yazma testi uygulamasına biz göz atalım.
Görüldüğü üzere kelimelerin olduğu alandaki ilk kelime
tbody tr:first-child td:first-child
CSS selector'üne sahip. CSS selectors isimli W3C yazısını okuyarak daha fazla bilgi edinebilirsiniz. İlk kelimenin önemi şu: Selenium ile yazdıracağımız kelime her zaman ilk sıradaki olacak, çünkü 1. kelimeyi yazdırdığımızda, 1. kelime kaybolup 2. kelime onun yerine geçiyor. Daha önce klavye hız testi yapanlar dediğimi anlayacaktır.Ayrıca sonra result class'ına sahip bir kutu var. Oyunun başında bu kutu boşken oyunun sonunda bu kutunun içine p etiketleri ekleniyor. Bunu da Selenium'u ne zaman durduracağımızı anlamak için kullanabiliriz.
Artık koda geçelim:
Python:
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
import chromedriver_autoinstaller
chromedriver_autoinstaller.install()
options = Options()
options.add_argument("--start-maximized")
driver = webdriver.Chrome(options=options)
driver.get("http://localhost/typing-test")
input_element = driver.find_element_by_css_selector(".word-input")
finished = False
while not finished:
first_word_element = driver.find_element_by_css_selector("tbody tr:first-child td:first-child")
first_word = first_word_element.get_attribute("innerText")
letters = list(first_word)
for letter in letters:
input_element.send_keys(letter)
input_element.send_keys(Keys.SPACE)
try:
result_element = driver.find_element_by_css_selector(".result p")
finished = True
except:
pass
Aşağıda program çalıştığında ne kadar hızlı yazdığına ve daha detaylı anlatıma sahip videomu bulabilirsiniz (İngilizce):
Herkese iyi Sosyaller!