Selenium Winform
-
Merhaba arkadaşlar.
saybirs mürid sayesinde Selenium ile tanıştım. Bu arada html parsing işlemi yapıyordum.
neyse konumuz bu değil. mesele şu ki selenium kullanırken program ayrı bir pencere açarak (chrome,firefox etc) ayrı bir program gibi davranıyor.
benim istediğim ise tek pencere altında bir winform içerisine selenium browser'i gömmek. bu ne kadar mümkün? yardımcı olursanız sevinirim.
bu mümkün değilse selenium browser'i görünmeden arka planda çalıştırmak mümkün mü buda ikinci çözüm.
lakin ilki olursa benim için tadından yenmez.
-
phantomjs ye bakabilirsin.
https://www.nrecosite.com/phantomjs_wrapper_net.aspx
-
headless mode diye arat hocam :')
-
Pythonda çok hoş kütüphaneler var.
Yine çoğu dilde web scraping/crawling işini yapan basit kütüphaneler vardır ama bence pythonun eline kimse su dökemez.
-
Geçen ilk defa kullandım. Headless Mode yaparsan ekrana birsey çıkmıyor.
----
Python için şu şekilde kullanıyorum, mutluyum. "Headless modda windows-size vermene gerek yok" diyecekler çıkmazsa sevinirim :)
from selenium import webdriver
NoktaliVirgul tarafından 24/Nis/19 09:59 tarihinde düzenlenmiştir
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=415,700")
browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='chromedriver.exe') -
python bilmiyorum. Şuan öğrenecek vaktim yok :)
Bana c# lazım 😊
-
NoktaliVirgul bunu yazdı
Geçen ilk defa kullandım. Headless Mode yaparsan ekrana birsey çıkmıyor.
----
Python için şu şekilde kullanıyorum, mutluyum. "Headless modda windows-size vermene gerek yok" diyecekler çıkmazsa sevinirim :)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=415,700")
browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='chromedriver.exe')curl ya da benzeri guiless web request teknolojilerine kiyasla ne kadar verimli hocam bu?
saniyede 1000 req cikartmaya kalksak ram yamulur mu dersin
-
end bunu yazdıNoktaliVirgul bunu yazdı
Geçen ilk defa kullandım. Headless Mode yaparsan ekrana birsey çıkmıyor.
----
Python için şu şekilde kullanıyorum, mutluyum. "Headless modda windows-size vermene gerek yok" diyecekler çıkmazsa sevinirim :)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=415,700")
browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='chromedriver.exe')curl ya da benzeri guiless web request teknolojilerine kiyasla ne kadar verimli hocam bu?
saniyede 1000 req cikartmaya kalksak ram yamulur mu dersin
Dediği gibi kısa python hayatımda ilk defa kullandım. Benim yazdığım program 1 tane request yapıp kapanıyor. Performansı konusunda yardımcı olamam.
-
end bunu yazdıNoktaliVirgul bunu yazdı
Geçen ilk defa kullandım. Headless Mode yaparsan ekrana birsey çıkmıyor.
----
Python için şu şekilde kullanıyorum, mutluyum. "Headless modda windows-size vermene gerek yok" diyecekler çıkmazsa sevinirim :)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=415,700")
browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='chromedriver.exe')curl ya da benzeri guiless web request teknolojilerine kiyasla ne kadar verimli hocam bu?
saniyede 1000 req cikartmaya kalksak ram yamulur mu dersin
Ram yamulur çünkü içerisinde bir çok component ile birlikte açılıyor. Curl ise daha basit(O kadarda değil) sadece HTTP Metodlarıyla birlikte istek atan bir sistem. Saniyede 1000 req çıkartmak istiyorsan asenkron veya senkron bağlantı çıkartacaksın. Bunun içinde curl benzeri sadece HTTP metodlarını kullanabilen bir script yazmalısın. Selenium içerisinde css driverdan tut javascript drivera kadar bir çok şey var. Bildiğin chrome gibi düşün sadece senin verdiğin parametrelere göre DOM vs üzerinden işlemleri otomatikleştiriyor.
@NoktaliVirgul Window size vermenin sebebi sitenin arkaplanda gerekli boyutta açılmasını sağlamak için mi? Aksi halde responsive tasarımdan dolayı yazdığın kod işe yaramayacaktır? Bildim mi :D -
0x656e bunu yazdıend bunu yazdıNoktaliVirgul bunu yazdı
Geçen ilk defa kullandım. Headless Mode yaparsan ekrana birsey çıkmıyor.
----
Python için şu şekilde kullanıyorum, mutluyum. "Headless modda windows-size vermene gerek yok" diyecekler çıkmazsa sevinirim :)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=415,700")
browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='chromedriver.exe')curl ya da benzeri guiless web request teknolojilerine kiyasla ne kadar verimli hocam bu?
saniyede 1000 req cikartmaya kalksak ram yamulur mu dersin
Ram yamulur çünkü içerisinde bir çok component ile birlikte açılıyor. Curl ise daha basit(O kadarda değil) sadece HTTP Metodlarıyla birlikte istek atan bir sistem. Saniyede 1000 req çıkartmak istiyorsan asenkron veya senkron bağlantı çıkartacaksın. Bunun içinde curl benzeri sadece HTTP metodlarını kullanabilen bir script yazmalısın. Selenium içerisinde css driverdan tut javascript drivera kadar bir çok şey var. Bildiğin chrome gibi düşün sadece senin verdiğin parametrelere göre DOM vs üzerinden işlemleri otomatikleştiriyor.
@NoktaliVirgul Window size vermenin sebebi sitenin arkaplanda gerekli boyutta açılmasını sağlamak için mi? Aksi halde responsive tasarımdan dolayı yazdığın kod işe yaramayacaktır? Bildim mi :DWebdriver kuruyoruz, direkt tarayıcı çalıştırıyor. Ben de ona istinaden sordumdu zaten.
Benim socket serverdan dönen değerlere göre işlem yapmam lazım mesela. Ama her kullanıcı için unique olacak bu socket oturumları.
Sağlam bir makine kiralamak dışında çözüm yok glb
-
0x656e bunu yazdıend bunu yazdıNoktaliVirgul bunu yazdı
Geçen ilk defa kullandım. Headless Mode yaparsan ekrana birsey çıkmıyor.
----
Python için şu şekilde kullanıyorum, mutluyum. "Headless modda windows-size vermene gerek yok" diyecekler çıkmazsa sevinirim :)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=415,700")
browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='chromedriver.exe')curl ya da benzeri guiless web request teknolojilerine kiyasla ne kadar verimli hocam bu?
saniyede 1000 req cikartmaya kalksak ram yamulur mu dersin
Ram yamulur çünkü içerisinde bir çok component ile birlikte açılıyor. Curl ise daha basit(O kadarda değil) sadece HTTP Metodlarıyla birlikte istek atan bir sistem. Saniyede 1000 req çıkartmak istiyorsan asenkron veya senkron bağlantı çıkartacaksın. Bunun içinde curl benzeri sadece HTTP metodlarını kullanabilen bir script yazmalısın. Selenium içerisinde css driverdan tut javascript drivera kadar bir çok şey var. Bildiğin chrome gibi düşün sadece senin verdiğin parametrelere göre DOM vs üzerinden işlemleri otomatikleştiriyor.
@NoktaliVirgul Window size vermenin sebebi sitenin arkaplanda gerekli boyutta açılmasını sağlamak için mi? Aksi halde responsive tasarımdan dolayı yazdığın kod işe yaramayacaktır? Bildim mi :DBildin :D
Ayrıca normal windowed açtığında örneğin minimum 400px küçülüyorsa headless modda daha da küçük açılabiliyor sanırım. Bu da benden bir fun fact olsun.