我有一个带有 iframe 的页面。iframe 内部是一个表格。当用户将鼠标移到该表上时,会出现一些元素。我想单击其中一个元素。
我认为我的一些第一步应该是选择 iframe,然后选择 moveToElement(table)。但这会导致 MoveTargetOutOfBoundsError。
奇怪的是,我能够选择 iframe 并单击表格。点击不会抱怨元素的 x,y 坐标,但 moveToElement 会抱怨。为什么?(不幸的是,单击表格执行的操作会导致我想要消失的那些按钮,所以这不是一个选项。)
我怎样才能完成我想要的(选择 iframe,将鼠标悬停在表格上,等待按钮出现,单击其中一个按钮)?
版本信息:
Build info: version: '2.28.0', revision: '18309', time: '2012-12-11 15:53:30'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_37'
下面是点击表格成功的java代码:
driver.switchTo().defaultContent();
driver.switchTo().frame("frameId");
WebElement e = driver.findElement(By.id("foo"));
e.click();
这是抱怨表位置的java代码:
driver.switchTo().defaultContent();
driver.switchTo().frame("frameId");
WebElement e = driver.findElement(By.id("foo"));
Actions builder = new Actions(driver);
builder.moveToElement(e).build().perform(); // error happens in moveToElement()