Firefox上的Selenium Webdriver clickAndHold()错误

时间:2013-12-27 19:32:17

标签: java selenium selenium-webdriver

我尝试从列表中选择多个选项,但它没有选择从首先选择选项中选择的特定选项以便最后选择选项并给出一些错误,如:

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

我的代码看起来像

WebDriver driver=new FirefoxDriver();    
driver.get("http://jqueryui.com/selectable/");
driver.manage().window().maximize();
driver.switchTo().frame(driver.findElements(By.tagName("iframe")).get(0));
WebElement multiSelectDropDown=driver.findElement(By.className("ui-selectable"));
List<WebElement> dropdownlists = multiSelectDropDown.findElements(By.tagName("li"));
Actions builder=new Actions(driver);
builder.clickAndHold(dropdownlists.get(0)).
                   clickAndHold(dropdownlists.get(4)).click()
                   .build().perform();

任何人都可以告诉我为什么这不起作用我的代码中是否有任何问题。

1 个答案:

答案 0 :(得分:1)

我认为你需要改变这个

  builder.clickAndHold(dropdownlists.get(0)).
               clickAndHold(dropdownlists.get(4)).click()
               .build().perform();

这应该是

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

因为在现实世界中,单击鼠标并拖动到另一个元素,然后移动到另一个元素,然后释放鼠标。