私は、Javaでselenium webDriverを使用しています。にある解決策を探しています。セレンの時にリスト内の各要素に移動して要素を見つけると、となります。ある場所から別の場所に識別された要素のドラッグ&ドロップのリストを実行するたびに、クロムドライバがポイント/座標で動作するため、「ChromeDriver」に固有の解決策を探しています。javaを使用して各要素moveTo()でfindElements()実装をSeleniumでオーバーライドする方法は?
シナリオの説明:私のアプリケーションは、各テーブル行の下にサブ項目として 'liとui'のリストを持つ2つのテーブル(T1とT2)を持っています。ドラッグ&ドロップする必要があります。 'T2'行/ 'web要素'を 'T1'行の下に一致するWeb要素にドラッグアンドドロップする必要があります(ドラッグアンドドロップ中にビューポートに表示または非表示になる可能性がありますがmoveTo() 。
問題:Chromeでスクリプトを実行しているときに、「T2」の現在のビューポートに存在しないウェブ要素がクリックされ、「T1」の「親ウェブ要素」にドラッグされます。しかし、最初に実行した後、ウェブページの位置合わせが途切れ、その後のドラッグアンドドロップは、以前に識別された要素の位置が変更されたために失敗しています。
私は 'T2要素1をクリックしてドラッグアンドドロップを実行する、javascriptエグゼキュータを使用してビューポートなどに要素を表示するなど複数のアプローチを試みましたが、UIの配置が壊れるたびに。
誰かがMoveTo()関数を使って 'Selenium FindElements()メソッドのカスタム実装に取り組んでいれば知りたいのですが?
ような何か:あなたの質問に特異的に答えるために
@Override
public List<WebElement> findElements(By arg0) {
List<WebElement> moveAndFind = null;
try{
WebElement firstIndex = Driver.findElement();//Move to first matching element of By argument.
moveAndFind.add(firstIndex); // Collect all the matching elements in the web page by capturing the updated location - specific to Chrome driver
}catch(WebDriverException ex){
ex.printStackTrace();
}
return moveAndFind;
}
誰でも、ドラッグアンドドロップ操作を実行したときにChrome UIの位置合わせブレークを処理する方法を提案できます。 – ajesh