2012-08-10 20 views
5

Selenyum Webdriver (Python) kullanarak. Bunu img elemanına sağ tıklamayı simüle ederek ve "görüntüyü ... olarak kaydet" i seçerek yapmak istedim. Aşağıdaki kodla, içerik menüsünü açabilirim, ancak doğru seçeneği seçemiyorum.Nasıl seçerek bir görüntü kaydetmek için "olarak görüntüyü kaydetmek ..." Bir bağlam menüsünde bir dizinine belirli bir görüntüyü kaydetmek için selenyum webdriver kullanmaya çalışıyorum

ActionChains(browser).context_click(img).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()     

ve bir kısayol kullanarak ('v' seçmek gibi görünüyor "şeklinde görüntüyü kaydetmek ...")

ActionChains(browser).context_click(img).send_keys('v').perform() 

görüntü yok:

browser = WebDriver(executable_path=CHROMEDRIVER_PATH) 
browser.get(URL) 
img = browser.find_element_by_tag_name('img') 
ActionChains(browser).context_click(img).perform() 

Ben de denedim Her bir tıklamada rastgele yeniden yüklenen bir captcha görüntüsü olduğu için doğrudan bir URL. Bulduğum tek yol, onu işleyebilmem için, önce diske kaydetmektir ("... olarak kaydet ..."). Tüm sayfanın kaydedilmesi, bu belirli resmi kaydetmez, bu yüzden işe yaramaz.

Herhangi bir fikrin var mı? Eğer peşinde olduğunuz bir kaptan ise

+0

Belki bu size, http://stackoverflow.com/a/3324611/541208 Cevabınız için – TankorSmash

+0

tks yardımcı olabilir ama bu sorunu çözmez düşünüyorum. Mümkünse Chrome Web Driver'ı kullanarak bunu yapmak isterim. Javascript oluştururken FireFox'u kullanmayla ilgili bir sorun yaşadım. –

cevap

3

, sadece bir ekran görüntüsü alma kapalı muhtemelen daha iyi.

kreativitea önerdiği gibi
driver.save_screenshot('screenshot.png') 
0

, bir ekran görüntüsü CAPTCHA en Yapmaya çalıştığınız şeyi yapmaktan komut dosyalarını engellemek için tasarlanmış olması nedeniyle gitmek için yol olurdu. CAPTCHA'lar, oturum yeniden kullanımını önlemek içindir. Oturum yeniden kullanımını açıklayan Here is a page. ben bir java programcısı Thats olduğum i kodu yapıştırın mümkün değildi neden

0

Ben

Step-1-right click on an image you wish to save 
Step-2- press v. 
Step-3-Enter to the directory window to save 

--- benzer bir sorun olan ve şimdi olarak kaydetme kullanarak bir görüntüyü kaydetmek için bir kısayol var edildi buna göre (soru piton için sorulmuştur).