2014-11-04 39 views
1

我使用硒web驅動程序來測試我的網站,事情是我有一個畫布元素,在其中我必須拖動位於(0,0)到(10,0)。最主要的是在畫布上沒有元素會有ID或類名稱。如何在canvas和kineticjs中使用硒進行拖放

我在網上瀏覽,但大多發現答案像

Actions builder= new Actions(driver); 
    WebElement canvas = driver.findElement(By.className("kineticjs-content")); 
    builder.build(); 
    builder.moveToElement(canvas, 0, 0) 
    .clickAndHold() 
    .moveByOffset(0, 20) 
    .release(); 
    builder.perform(); 

因此,這裏的主要問題是我們沒有和IDS或類名字裏面畫布元素。所以任何人都可以幫助我用它的(x,y)座標來拖放特定的元素。

回答

0

我試過以下拖放在畫布上。實際上它在畫布上放大&它適用於我

Actions slide = new Actions(driver); 
WebElement text=obj.findElementByXpath(".//[@id='chartContainer']/div/canvas[2]"); 
     slide.build(); 
     text.click(); 
     slide.dragAndDropBy(text, 100, 4500); 
     slide.perform(); 
     slide.release(); 
     }