我想使用Selenium webdriver模拟多选方案,以便用户可以选择第1项和第5项(请参阅URL)。
现在我正在尝试使用 clickAndHold 功能,但是当我尝试时,它会选择项目1和项目5之间的所有其他项目。
现在正在发生
我想要这个
我的代码是这样的:
baseUrl="http://jqueryui.com/selectable/";
driver.get(baseUrl);
driver.switchTo().frame(0);
List<WebElement> list=driver.findElements(By.cssSelector("ol#selectable *"));
Actions act=new Actions(driver);
act.clickAndHold(list.get(0)).clickAndHold(list.get(4)).release().build().perform();
因此,鼠标在到达列表中的第五个项目之前不会被释放,这可能是两者之间选择的原因。
但如果我尝试不释放鼠标单击并选择第四项,请使用此代码
act.clickAndHold(list.get(0)).build().perform();
act.clickAndHold(list.get(4)).build().perform();
然后我获得与上面代码相同的输出。我应该在这里更改什么,以便不选择介于两者之间的项目。
答案 0 :(得分:3)
由于你想要的是更多CTRL +点击类型的使用场景,我建议如下:
Actions actions = new Actions(driver)
actions.keyDown(Keys.CONTROL)
.click(list.get(0))
.click(list.get(4))
.keyUp(Keys.CONTROL)
.build();
.perform();
虽然我没有测试过这段确切的代码,但应该让您走上正确的道路。