我想测试jQueryUI滑块是如何工作的与 selenium 化物一起工作。我试过了
$("#L3, #numeric-ui-slider-handle").sendKeys(Keys.ARROW_RIGHT);
但这失败了
Invalid element state: element not interactable
如果用手激活该元件并按向右箭头键,则其工作。要么我需要全局发送键,而不是针对元素,要么我需要直接设置它的值。
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); }
1条答案
按热度按时间gwbalxhn1#
以下是移动滑块所需的一切,并使用
%
就像我在下面做的那样:-