2

セレン (c#) の要素が 1 つだけのスライダーをテストする必要があります。ボリュームや明るさのコントロールのようなもの。オンラインで検索したところ、2 つの要素 (ソースとターゲットを使用) しか見つかりませんでした。多くの機能を試しましたが、どれも機能していません。

Actions move = new Actions(driver);
move.DragAndDropToOffset(driver.FindElement(By.Id("someid")), 39, -9).Perform();

誰でもこれで私を助けてもらえますか? 私は Selenium と c# がまったく初めてです。詳細を提供する必要がある場合はお知らせください。ありがとう

4

1 に答える 1

0

要素が 1 つしかないと確信していますか? このスライダーのようなトラックに沿ってスライダーをドラッグできる場合

ここに画像の説明を入力

「スライダー ハンドル」(値が「5ft 5」のボックスとしての <a/> タグ) が「スライダー トラック」(長い黒いバーとしての <div> タグ) に沿って境界付けられている場合、移動する距離のオフセットを指定できます。計算されます。次のコードは C# で動作し、CSS 値を使用して計算された距離で、スライダー ハンドルをスライダー トラックに沿ってパーセンテージ移動します。

public void SetSliderPercentage(string sliderHandleXpath, string sliderTrackXpath, int percentage)
{
    var sliderHandle = driver.FindElement(By.XPath(sliderHandleXpath));
    var sliderTrack = driver.FindElement(By.XPath(sliderTrackXpath));
    var width = int.Parse(sliderTrack.GetCssValue("width").Replace("px", ""));
    var dx = (int)(percentage / 100.0 * width);
    new Actions(driver)
                .DragAndDropToOffset(sliderHandle, dx, 0)
                .Build()
                .Perform();
}
于 2013-05-14T08:05:59.453 に答える