C# Selenium中的测试滑块只有一个元素,如音量控制

C# Selenium中的测试滑块只有一个元素,如音量控制,c#,automated-tests,webdriver,selenium-webdriver,C#,Automated Tests,Webdriver,Selenium Webdriver,我需要在selenium c中只测试一个元素的滑块。比如音量或亮度控制。 我已经在网上搜索过了,我能找到的只有两个元素,分别是Source和Target。 我尝试了很多功能,但都不起作用 Actions move = new Actions(driver); move.DragAndDropToOffset(driver.FindElement(By.Id("someid")), 39, -9).Perform(); 有人能帮我吗?我对硒和c是完全陌生的。 如果我需要提供更多细节,请告诉我。

我需要在selenium c中只测试一个元素的滑块。比如音量或亮度控制。 我已经在网上搜索过了,我能找到的只有两个元素,分别是Source和Target。 我尝试了很多功能,但都不起作用

Actions move = new Actions(driver);
move.DragAndDropToOffset(driver.FindElement(By.Id("someid")), 39, -9).Perform();
有人能帮我吗?我对硒和c是完全陌生的。 如果我需要提供更多细节,请告诉我。
谢谢你确定只有一个元素吗?如果您的滑块可以沿类似此滑块的轨迹拖动

使用滑块手柄将标记作为框,值为5ft 5,沿滑块轨迹绑定,将标记作为长黑条,然后可以计算移动的距离偏移。下面的代码将在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();
}

你确定只有一个元素吗?如果您的滑块可以沿类似此滑块的轨迹拖动

使用滑块手柄将标记作为框,值为5ft 5,沿滑块轨迹绑定,将标记作为长黑条,然后可以计算移动的距离偏移。下面的代码将在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();
}