2013-05-01 10 views
8

Şu anda Capybara ile selenyum sürücüsünü kullanıyorum ama Poltergeist kullanmaya geçmek istiyorum. Yine de test ettiğim birçok arayüz, sayfadaki belirli konumlardaki öğeleri sürükleyip bırakmayı içeriyor. Ben selenyum çalışır sürükle ve bırak için aşağıdaki yöntemi, yazdık:Poltergeist'i kullanarak nasıl sürükleyip bırakabilirim?

Ben poltergeist böyle bir şey yazma konusunda gitmek nasıl
def drag_drop(page, draggable, droppable, xoffset, yoffset) 
    driver = page.driver.browser 
    driver.mouse.move_to(draggable.native, draggable.native.size.height/2, draggable.native.size.width/2) 
    driver.mouse.down 
    driver.mouse.move_to(droppable.native, droppable.native.size.height/2 + yoffset, droppable.native.size.width/2 + xoffset) 
    driver.mouse.up 
end 

?

cevap

3

Tam olarak ne aradığınızı bilmiyorum, ancak Poltergeist'in desteklediği Capybara has an API for dragging.

+2

Evet, bunu denedim, ama yeterince doğru değil. Koordinatlara sürüklenip bırakabilmem gerekiyor, sadece bir diğerinin üstünde bir eleman değil. Eğer sadece 'drag_to' kullanırsam uygun alana inmiş olarak kayıt olmaz. – lobati

İlgili konular