Selenium Webdriver kann nicht auf einen Link außerhalb der Seite klicken

Ich habe ein Problem mit Selenium WebDriver. Ich versuche, auf einen Link zu klicken, der sich außerhalb der Fensterseite befindet (Sie müssen nach oben scrollen, um ihn anzuzeigen). Mein aktueller Code ist ziemlich normal:

menuItem = driver.findElement(By.id("MTP"));
menuItem.click();
// I also tried menuItem.sendKeys(Keys.RETURN);

Ich weiß, ich könnte nach oben scrollen, und in diesem Fall würde es funktionieren. Wenn Sie jedoch eine lange Liste von Elementen haben, wissen Sie nicht unbedingt, wie weit Sie nach unten scrollen müssen.

Gibt es eine Möglichkeit, auf einen Link zu klicken, der sich nicht im sichtbaren Bereich der Seite befindet (der jedoch beim Scrollen sichtbar wäre)?

Nebenbei bemerkt, ich verwende Firefox, plane aber auch den Einsatz von IE7 / 8/9 und Chrome.

Jede Hilfe wäre sehr dankbar.

Bearbeiten: Ich fürchte, ich kann den Quellcode nicht angeben, da die Firma, für die ich arbeite, dies nicht zulässt, aber ich kann den Code des Links angeben, auf den ich klicken möchte:

<div class="submenu">
  <div id="MTP">Link title</div>
</div>

Der exakt gleiche Code funktioniert, wenn der Link sichtbar ist, nur wenn er nicht ist, funktioniert er nicht.

Edit2: Eigentlich löst es seltsamerweise keine Ausnahme aus und geht einfach zur nächsten Anweisung. Was also im Grunde passiert, ist:

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.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage