如何使用selenide读取/写入/更改jquery ui滑块?

mxg2im7a  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(363)

我想测试jQueryUI滑块是如何工作的

与 selenium 化物一起工作。我试过了

$("#L3, #numeric-ui-slider-handle").sendKeys(Keys.ARROW_RIGHT);

但这失败了

Invalid element state: element not interactable

如果用手激活该元件并按向右箭头键,则其工作。
要么我需要全局发送键,而不是针对元素,要么我需要直接设置它的值。

gwbalxhn

gwbalxhn1#

以下是移动滑块所需的一切,并使用 % 就像我在下面做的那样:-

@Test
public void testJQuerySlider() throws InterruptedException {
    driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.get("https://jqueryui.com/slider/");
    WebDriverWait wait = new WebDriverWait(driver, 30);
    Actions action = new Actions(driver);
    wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.className("demo-frame")));
    System.out.println("Inside iframe");
    WebElement slider = wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("div#slider span")));
    slider.click();
    String sliderPosition = slider.getAttribute("style");
    System.out.println(sliderPosition);
    Thread.sleep(2000);
    for (int i = 0; i<=10; i++) {
        action.sendKeys(Keys.ARROW_RIGHT).build().perform();
        Thread.sleep(1000);
    }
    WebElement newslider = wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("div#slider span")));
    String newSliderPosition = newslider.getAttribute("style");
    System.out.println(newSliderPosition);
}

相关问题