2013-11-27 15 views
8

Şimdi bir web sayfasını görüntüye kaydetmek için selenyum kullanıyorum.Bir web sayfasını python'daki bir görüntüye doğrudan vermek mümkün mü?

from selenium import webdriver 
browser = webdriver.Firefox() 
browser.get("some url") 
browser.save_screenshot(img) 
browser.quit() 

Ancak, her seferinde bir pencere açılacak bir sorun var.

Görüntüyü doğrudan görüntüye dönüştürebilmenin bir yolu var mı?

+2

ve sen, sen [Xvfb ile web tarayıcısını çalıştıran cesur deneme yapabilirsiniz ediyoruz ] (http://en.wikipedia.org/wiki/Xvfb), görüntüleri görüntülemeden bellekte görüntüleyen bir X11 sunucusu. –

+0

Firefox'un oluşturma motoru Gecko, aslında "ekran dışı" görüntülemeyi bir arabelleğe almak için kullanılabilir. Ancak, Python'dan Gecko ile arayüz oluşturmaya çalışıyor - özellikle de Gecko’yu 5.0’dan sonra desteklemeyi bıraktıkları ve numuneleri hiç bitirmedikleri için - bir kabus. Bir XUL/JS uygulaması yazarak, Firefox/XULRunner'da _that_ çalıştırarak, sonra da Python ile komut yazarak bunu yapabilirsiniz. Ama yine de eğlenceli olmayacak. – abarnert

+1

başka bir seçenek Qt webkit bağlamalarını kullanmaktır: http://www.linux.com/learn/docs/ldp/284676-converting-html-to-pdf-using-python-and-qt – georg

cevap

2

How do I run Selenium in Xvfb adresinde bir geçici çözüm buldum?

Linux'ta sorunsuz çalışıyor.

from pyvirtualdisplay import Display 
display = Display(visible=0, size=(800, 600)) 
display.start() 
browser = webdriver.Firefox() 
browser.get("some url") 
browser.save_screenshot(img) 
browser.quit() 
display.stop() 
İlgili konular