我遇到了Selenium WebDriver的问题.我尝试点击窗口页面外的链接(你需要向上滚动才能看到它).我目前的代码是相当标准的:
menuItem = driver.findElement(By.id("MTP"));
menuItem.click();
// I also tried menuItem.sendKeys(Keys.RETURN);
Run Code Online (Sandbox Code Playgroud)
我知道我可以向上滚动,在这种情况下它会起作用.但是如果你有很长的项目列表,你不一定知道你需要向下滚动多远.
有没有办法点击不在页面可见部分的链接(但滚动时会显示)?
作为旁注,我正在使用Firefox,但我打算也使用IE7/8/9和Chrome.
任何帮助将不胜感激.
编辑:我担心我不能提供源代码,因为我工作的公司不允许它,但我可以给出我想点击的链接的代码:
<div class="submenu">
<div id="MTP">Link title</div>
</div>
Run Code Online (Sandbox Code Playgroud)
链接可见时,完全相同的代码有效,只有当链接不可用时才能使用.
编辑2:实际上,奇怪的是,它不会引发任何异常,只是转到下一条指令.所以基本上,会发生什么:
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.
Run Code Online (Sandbox Code Playgroud)