Selenium klickt auf einen Link, dessen href javascript:void[0] ist;Java

Java-Forum
Anonymous
 Selenium klickt auf einen Link, dessen href javascript:void[0] ist;

Post by Anonymous »

Ich versuche zu sehen, ob beim Klicken auf einen Link mithilfe von Selenium WebDriver mit Java ein Bericht auf der Seite generiert wird.

Was passiert, ist, dass es eine Reihe von Links auf einer Seite gibt. Die meisten davon werden beim Klicken auf eine andere Seite weitergeleitet, auf der ich die Details automatisch ausgefüllt und das Formular abgesendet habe, um zu überprüfen, ob der Bericht erstellt wurde.

Es gibt jedoch drei Berichte, die beim Klicken dazu führen, dass einige JS ausgeführt werden, und nach ein paar Sekunden wird auf derselben Seite ein neuer Link zum Herunterladen des Berichts angezeigt.

Wie kann ich auf diesen Link klicken?

Ich lese alle Links auf der Seite in eine Liste von WebElements ein und durchlaufe sie dann in einer Schleife, um herauszufinden, wo die href Javascript enthält: to void[0];

Ich versuche dann, die Click-Methode für dieses Element in der Liste aufzurufen, allLinks.get(i).click();

Das ist das Gleiche, was ich für die anderen Berichte mache, und es funktioniert gut, aber bei diesen 3 erhalte ich eine Fehlermeldung
„Element ist derzeit nicht sichtbar und kann daher möglicherweise nicht interagiert werden“

Wenn ich Firebug verwende und den Link überprüfe, der die Ausführung von JS startet, heißt es:

Code: Select all

[url=javascript:void[0];]CSV[/url]
Kann jemand eine Möglichkeit vorschlagen, auf den Link zu klicken?

Die Seite enthält viele Links, die CSV enthalten, daher kann ich nicht einfach den Linktext verwenden.

UPDATE:
Ich habe gerade darüber nachgedacht, was helfen könnte. Wenn ich zum ersten Mal auf die Seite mit den Berichtslinks komme, heißt es „Berichte bestellen“. Ich muss auf die Überschrift klicken, die dann eine JS-Funktion aufruft, um diesen Abschnitt zu erweitern und die Links anzuzeigen.

Die Berichte funktionieren, denn wenn ich auf diese Seite komme, lese ich einfach alle Hrefs der Seitenquelle und führe „driver.get(reportList.get(i);“ aus, sodass ich nicht wirklich auf den Link klicke.

Ich habe einen Link hinzugefügt, um den XPath der Überschrift abzurufen und darauf zu klicken, aber wenn ich dann versuche, mit dem Href oder Javascript auf den Link zu klicken: void, erhalte ich immer noch die Fehlermeldung es ist nicht sichtbar.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post