繁体   English   中英

使用 Selenium Webdriver 进行多项选择

[英]Multiple Selection Using Selenium Webdriver

我想使用 Selenium webdriver 模拟多选场景,以便用户能够选择 Item 1 和 Item 5 (see the URL) 。

URL JQuery 可选

现在我正在尝试使用clickAndHold函数执行此操作,但是当我尝试时,它会选择 Item 1 和 Item 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();

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

由于您想要的是更多CTRL +单击类型的使用情况,因此,我建议以下内容:

Actions actions = new Actions(driver)
actions.keyDown(Keys.CONTROL)
       .click(list.get(0))
       .click(list.get(4))
       .keyUp(Keys.CONTROL)
       .build();
       .perform();

尽管我尚未测试此确切的代码,但这应该可以帮助您找到正确的路径。

要在可选中选择多个选项:

List<WebElement> Selectable = driver.findElements(By.xpath("//*[@id='selectable']/*"));
Actions x = new Actions(driver);

x.keyDown(Keys.CONTROL)
 .click(Selectable.get(0))
 .click(Selectable.get(4))
 .keyUp(Keys.CONTROL)
 .build().perform();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM