from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
def login():
driver = webdriver.PhantomJS()
driver.get("login_sayfasıi")
driver.find_element_by_id('UserName').send_keys("username")
driver.find_element_by_id('Password').send_keys("password")
driver.find_element_by_id('btnLogin').click()
# veri çekilecek sayfaya git
driver.get("veri_çekilecek_web_adresi")
driver.wait = WebDriverWait(driver, 20)
#belirli bir datayı çek
adet = driver.find_element_by_id('toplamSatışAdedi').text
üretim = driver.find_element_by_id('toplamSatışTutari').text
print(adet)
print(üretim)
if __name__ == "__main__":
login()
20 sn beklemek gerektiğinden emin misin? bazılarında cookie header falan alıp baştan post yapınca geliyor yada ardı ardına bikaç post yapman gerekiyor.
bide postman denedin mi
curl ile çekemezsin. yazılımcı değilim ama ajax'la falan daha sonradan çekilen verilere ulaşamıyor curl. phantomjs'ye bakmanı öneririm.
@ipmus90 evet ortalama 20 saniye sonra data geliyor buna eminim çünkü yukarıdaki kodu çalıştırdığımda data genelde gelirken bazen gelmiyor. postman'i veya curl'u nasıl kullanırım bilmiyorum. bilale anlatır gibi anlatsanız daha iyi olur:)
kardeş veriyi çekmen için sayaç varsa server tarafında da sayaç olması gerekiyor ve linkin beli olması gerekiyor. link belli değilse soket bağlantısı açık kalmalı ve link soket bağlantısından gönderilmeli. Google chrome ögeyi incele yapıp network seçip nasıl bi bağlantı kuruluyor link nasıl geliyor bi test etmeni tavsiye ederim önce. python ve curl ile yapılabilir tabikide.
Geçenlerde veri defterinde şuna denk gelmiştim. Tarayıcıya bekleme koymak bölümünde aradığını bulabilirsin sanırım
www.veridefteri.com
selenium-python.readthedocs.io