2017-08-31 12 views
-1

[以下はページ要素の画像です。ドラッグ&ドロップしたいsvg要素内にアクションクラスとロボットクラスを試しましたが、できませんでした。セレンを使ってsvg要素内でドラッグ&ドロップを実行する方法は?

resizeblockTwo']"> 
 
<div class="chartCanvas js-resizeblockOne drpm-resize__block-one"> 
 
<div class="titleBar layout-align-space-between-center layout-row"> 
 
<graph-canvas class="ng-scope"> 
 
<section class="chartContainer"> 
 
<div class="chartArea joint-theme-default paper" droppable=""> 
 
<svg id="v-2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100%" height="100%"> 
 
</div> 
 
</section> 
 
<div ng-transclude=""> 
 
</graph-canvas> 
 
<div class="processflow-empty-message ng-scope" ng-if="emptyGraph" style=""> 
 
<div class="drpm-resize__grabber"> 
 
</div>

+1

*試したアクションクラスとロボットクラス* ...試したことを表示 – Andersson

+0

アクションact = new Actions(fd); //ドラッグする必要がある要素を見つけます。WebElement drag = fd.findElement(By.cssSelector( "[type = InputData]")); //ドロップする必要がある要素を見つけます。WebElement drop = fd.findElement(By.cssSelector( "svg [id = 'v-2']")); //これは、要素をデスティネーションにドラッグします。act.dragAndDrop(drag、drop).build()。perform();コードはパスされていますが、ドラッグアンドドロップは起こっていません。 –

答えて

0

セレンは、他のロケータとSVNのタグを処理するために問題があるとして、あなたはcssSelectorに固執する必要があります。私は同じことを経験しました。

アクションクラスでセレンドラッグアンドドロップで同じ要素を渡します。あなたは、私たちは、あなたが、それは以下のようになりますJavaでchrome-> Inspect-> copy -> copy selector

を使用することができ、あなたのためのCssSelectorを抽出することはできません要素を指定してやりなさい: -

Actions act=new Actions(driver); 

// find element which we need to drag 
WebElement drag=driver.findElement(By.cssSelector("YOUR CSS Selector")) 

// find element which we need to drop 
WebElement drop=driver.findElement(By.cssSelector("YOUR CSS Selector")); 

// this will drag element to destination 
act.dragAndDrop(drag, drop).build().perform(); 

それはあなたを助けることを願っています:)

+0

アクションact = newアクション(fd); //ドラッグする必要がある要素を見つけます。 WebElement drag = fd.findElement(By.cssSelector( "[type = InputData]")); //削除する必要のある要素を見つけます。 WebElement drop = fd.findElement(By.cssSelector( "svg [id = 'v-2']")); //これは要素を宛先にドラッグします act.dragAndDrop(ドラッグ、ドロップ).build()。perform();コードはパスされていますが、ドラッグアンドドロップは起こっていません。 –

関連する問題