MoveTargetOutOfBoundsException 硒 IE9/FireFox
MoveTargetOutOfBoundsException Selenium IE9/FireFox
我遇到了 FireFox/IE9 硒驱动程序的问题。当我使用 selenium 的 Actions class 并使用它的方法 moveToElement 时,它不会移动到元素,它会 return 一个 MoveTargetOutOfBoundsException。我尝试过使用其他解决方案,例如使用 Coordinates、Point 和 javascriptexecutor,但都没有用。通过使用 moveToElement,它在我的 chrome 驱动程序上工作,所以我不知道为什么它不能在 firefox33/IE9 上工作,因为它们是 selenium
的原生
这是我的代码片段:
WebElement requiredCheckbox = new WebDriverWait(driver,15).until(ExpectedConditions.presenceOfElementLocated(By.name("tc_n_cs_subscribe_1")));
// Point points = requiredCheckbox.getLocation();
// System.out.println(points.getX());
// System.out.println(points.getY());
// actions.moveByOffset(points.getX(), points.getY()).perform();
// ((JavascriptExecutor)
// driver).executeScript("window.scrollBy(0, "+points.getY()+");");
// ((JavascriptExecutor) driver).executeScript(
// "arguments[0].scrollIntoView();", requiredCheckbox);
// Coordinates coordinate =
// ((Locatable)requiredCheckbox).getCoordinates();
// coordinate.onPage();
// coordinate.inViewPort();
actions.moveToElement(requiredCheckbox).build().perform();
requiredCheckbox.click();
你想做什么?如果您想将视图滚动到 requiredCheckbox,请尝试
((Locatable) requiredCheckbox).getCoordinates().inViewPort();
我已经解决了这个问题。我使用了 javascriptexecutor 代码。
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView();", requiredCheckbox);
在我添加 DesiredCapabilities setJavascriptEnabled 方法后它起作用了。
我遇到了 FireFox/IE9 硒驱动程序的问题。当我使用 selenium 的 Actions class 并使用它的方法 moveToElement 时,它不会移动到元素,它会 return 一个 MoveTargetOutOfBoundsException。我尝试过使用其他解决方案,例如使用 Coordinates、Point 和 javascriptexecutor,但都没有用。通过使用 moveToElement,它在我的 chrome 驱动程序上工作,所以我不知道为什么它不能在 firefox33/IE9 上工作,因为它们是 selenium
的原生这是我的代码片段:
WebElement requiredCheckbox = new WebDriverWait(driver,15).until(ExpectedConditions.presenceOfElementLocated(By.name("tc_n_cs_subscribe_1")));
// Point points = requiredCheckbox.getLocation();
// System.out.println(points.getX());
// System.out.println(points.getY());
// actions.moveByOffset(points.getX(), points.getY()).perform();
// ((JavascriptExecutor)
// driver).executeScript("window.scrollBy(0, "+points.getY()+");");
// ((JavascriptExecutor) driver).executeScript(
// "arguments[0].scrollIntoView();", requiredCheckbox);
// Coordinates coordinate =
// ((Locatable)requiredCheckbox).getCoordinates();
// coordinate.onPage();
// coordinate.inViewPort();
actions.moveToElement(requiredCheckbox).build().perform();
requiredCheckbox.click();
你想做什么?如果您想将视图滚动到 requiredCheckbox,请尝试
((Locatable) requiredCheckbox).getCoordinates().inViewPort();
我已经解决了这个问题。我使用了 javascriptexecutor 代码。
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView();", requiredCheckbox);
在我添加 DesiredCapabilities setJavascriptEnabled 方法后它起作用了。