0

次のコードを書きましたが、要素が見つかりません。サイトへのリンクはhttp://plugnedit.com/です。

ページ上の要素を見つけて、オブジェクトをドラッグしようとするさまざまな方法を試しました。動いていない。「要素が見つかりません」というエラーが表示されます。

ファイアフォックスを使用しています。

ありがとう。

        driver.navigate().to("http://plugnedit.com/");
        Actions dragAndDrop = new Actions(driver);
        WebElement itemToDrag = driver.findElement(By.id("p1003upperspan"));

        // drag downwards
        int numberOfPixelsToDragTheScrollbarDown = 10;
        for (int i=10;i<150;i=i+numberOfPixelsToDragTheScrollbarDown){
            // this causes a gradual drag of the scroll bar, 10 units at a time
            dragAndDrop.moveToElement(itemToDrag).clickAndHold().moveByOffset(0,numberOfPixelsToDragTheScrollbarDown).release().perform();
        }
4

1 に答える 1

0

ドラッグ アンド ドロップしようとしている要素はフレーム内に存在するため、まずその要素を含むフレームに切り替えてから、ドラッグ アンド ドロップ機能を実行する必要があります。

あなたのコードから、ドラッグしようとしている画像がコーヒーカップのある画像であることがわかりました。この画像は、Web ページの最初のフレームに表示されます。

そのため、ドラッグ アンド ドロップ コードの前に、次の 1 行のコードを追加しました。

driver.switchTo().frame(0); 

//ここでは、フレームに名前が含まれていません。だから私はインデックスを使用しています。ここでframe(0)は、最初のフレーム タグを示します。

出来た !このコードを使用します。

driver.navigate().to("http://plugnedit.com/");

     driver.switchTo().frame(0);
        Actions dragAndDrop = new Actions(driver);
        WebElement itemToDrag = driver.findElement(By.id("p1003upperspan"));

        // drag downwards
        int numberOfPixelsToDragTheScrollbarDown = 10;
        for (int i=10;i<150;i=i+numberOfPixelsToDragTheScrollbarDown){
            // this causes a gradual drag of the scroll bar, 10 units at a time
            dragAndDrop.moveToElement(itemToDrag).clickAndHold().moveByOffset(0,numberOfPixelsToDragTheScrollbarDown).release().perform();
        }
于 2013-03-10T19:21:23.703 に答える