[英]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.