2014-06-17 17 views

cevap

16

Capybara ile doğrudan şöyle bir elemanda tıklamak yerine tıklama olaylarını tetikleyebilir:

page.find("#some_element").trigger("click") 

sorun bu Selenyum çalışmaz olduğunu. Yani ne yapabildiğini şartlı benzer görünümde olacaktır standart Kapibara click veya geçerli javascript sürücüsü dayalı bir trigger("click") gerçekleştirmek olduğunu: Açıkçası

if Capybara.javascript_driver == :selenium 
    page.find("#some_element").click 
else 
    page.find("#some_element").trigger("click") 
end 

bu ideal daha az, ama gittiğim en iyi yoldur bu gibi durumlarla başa çıkmak için bulundu. gibi Belki

+0

Sağ . WebKit sürücüsü açılan menüleri çok kötü işler ve bunu aşmanın tek yolu "tetikleme" ile gerçekleşir. – zakelfassi

0

u yerine hattının bir tablonun tam satır gibi yolunda daha spesifik olmaya çalışmalısınız şey: yerinde

page.find('//*[@id="row_0_table"]') #returns error

page.find('//*[@id="table_0_0"]') #works