2016-04-14 17 views
1

İndirme bilgilerini otomatikleştirmek için Python Splinter kullanıyorum.splinter, etkileşimli olarak çalışır ancak betik olarak değil

Tarayıcı etkileşiminin bir parçası olarak, bir web sayfasındaki bir metin kutusunu bir dizeyle doldurmak istiyorum.

Python3.4'ü etkileşimli olarak çalıştırırsam, her bir Splinter komutunu bir kerede programımdan kes ve yapıştır, bir firefox tarayıcısında yanıt olarak çalıştırılan her satırı izleyebilirim ve her şey çalışıyor; Ben programı çalıştırmak zaman ancak, metin kutusuna bulmak için komut bu hata iletisiyle başarısız olur:

selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with 
Stacktrace: 

The Splinter commands are 
    browser.find_by_id('addMore_institution').click() 
    browser.find_by_id('addMoreText_institution').fill(institution+"\n") 

metin için Firefox'ta öğeyi denetle kullanma geçerli:

<input style="background-image: url(&quot;/static/images/common/icon_search_grey.png&quot;); cursor: default;" autocomplete="off" id="addMoreText_institution" class="addMoreTextbox ui-autocomplete-input" placeholder="Find an existing institution or group" data-entitytype="institution" type="text"> 

Ben find_by_xpath kullanarak denedim ve diğer Splinter fin_by komutları ancak boşuna. Programın nasıl çalışacağını nasıl önerebilirim?

cevap

0

Hemen sorun, find_by_id komutundan hemen önce bir uyku (12) eklenerek çözüldü. Program daha sonra devam eder ve hemen önce bir uyku (12) ekleyerek çözülen başka bir hatta bombalar.

Selenyum ile ilgili gönderilerde görünür kodu görünene kadar bekleyin. Splinter'de bir eşdeğer var mı?