鼠标clickAndHold()在使用Selenium Webdriver的Firefox上无法正常工作

时间:2013-12-27 13:46:12

标签: java selenium selenium-webdriver

我正在使用selenium webdriver客户端2.39和Firefox 26。

鼠标点击并暂停活动无法正常运行。我的代码就像

WebDriver driver=new FirefoxDriver();
driver.get("http://startingwithseleniumwebdriver.blogspot.com/2013/12/frmset1.html");
WebElement multiSelectDropDown=driver.findElement(By.name("multiselectdropdown"));
List<WebElement> dropdownlists = multiSelectDropDown.findElements(By.tagName("option"));
Actions builder=new Actions(driver);
builder.clickAndHold(dropdownlists.get(0)).
               clickAndHold(dropdownlists.get(6)).click().build();

此代码不会给出任何错误,只会选择一个元素。 我可以用其他方式绕过这个问题,但我想知道它没有用。

2 个答案:

答案 0 :(得分:2)

我面临同样的问题,但它从头到尾选择元素并给出一些像

这样的错误

无法执行本机交互:无法获取元素的节点 - 无法进行交互

我通过这种方式得到了解决方案,你可以为你的问题做到这一点

 builder.clickAndHold(dropdownlists.get(0)).moveToElement(dropdownlists.get(6)).release().build().perform();

答案 1 :(得分:1)

如果要从列表中选择多个选项,请尝试此操作(它将选择前3个元素):

List<WebElement> elements = driver.findElements(By.xpath("//select[@name='multiselectdropdown']/option"));
for(int i = 0; i < 3; i++) {
    new Actions(driver).keyDown(Keys.CONTROL).click(elements.get(i)).keyUp(Keys.CONTROL).perform();
    }
相关问题