我遇到了 Selenium WebDriver 的问题。我尝试单击窗口页面外的链接(您需要向上滚动才能看到它)。我当前的代码是相当标准的:
menuItem = driver.findElement(By.id("MTP"));
menuItem.click();
// I also tried menuItem.sendKeys(Keys.RETURN);
我知道我可以向上滚动,在这种情况下它会起作用。但是,如果您有很长的项目列表,您不一定知道必须向下滚动多远。
有什么方法可以点击不在页面可见部分的链接(但如果滚动则可见)?
附带说明一下,我使用的是 Firefox,但我也计划使用 IE7/8/9 和 Chrome。
任何帮助将不胜感激。
编辑:恐怕我不能给出源代码,因为我工作的公司不允许它,但我可以给出我想点击的链接的代码:
<div class="submenu">
<div id="MTP">Link title</div>
</div>
完全相同的代码在链接可见时有效,只有在链接不可见时才有效。
Edit2:实际上,奇怪的是,它没有引发任何异常,只是转到下一条指令。所以基本上,会发生什么:
menuItem = driver.findElement(By.id("MTP")); // no exception
menuItem.click(); // no exception
//... some code ensuring we got to the next page: timeout reached
driver.findElement(By.id("smLH")).click(); // NoSuchElementException, as we're on the wrong page.