使用Selenium Webdriver进行多项选择

时间:2014-07-09 05:58:53

标签: java jquery selenium selenium-webdriver webdriver

我想使用Selenium webdriver模拟多选方案,以便用户可以选择第1项和第5项(请参阅URL)。

网址JQuery Selectable

现在我正在尝试使用 clickAndHold 功能,但是当我尝试时,它会选择项目1和项目5之间的所有其他项目。

现在正在发生

This is happening

我想要这个

I want this

我的代码是这样的:

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();

然后我获得与上面代码相​​同的输出。我应该在这里更改什么,以便不选择介于两者之间的项目。

1 个答案:

答案 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();

虽然我没有测试过这段确切的代码,但应该让您走上正确的道路。