Selenium 2 - Fokus auf ein Bild ohne Name / ID setzen

8

Also versuche ich gerade herauszufinden, wie ich den Fokus auf einen Frame in Selenium 2 schalten kann, wenn der Frame keinen Namen oder keine ID hat? Für einen benannten Rahmen mache ich:

%Vor%

Aber was gibt es keinen Namen? Hat jemand Erfahrung damit?

    
James 23.08.2010, 16:29
quelle

5 Antworten

11

driver.switchTo.frame () ist überladen zu Akzeptiere einen Frame-Namen oder eine Ganzzahl . Dieser Int ist ein 0-basierter Index der verfügbaren Frames. Der erste Frame wäre 0, der zweite 1 und so weiter.

Ich habe gerade einen wirklich schnellen Test mit der Java-Bindung und Firefox gegen diese HTML-Seite durchgeführt.

%Vor%

Ich bin erfolgreich in der Lage, driver.switchTo () zu verwenden. frame (0); Bezug auf Rahmen a und driver.switchTo () .frame (1); um auf Frame b zuzugreifen.

    
pnewhook 10.09.2010, 00:07
quelle
1

Sie können den Index des Rahmens verwenden. Da Sie keinen Namen und keine ID für den Rahmen haben, driver.switchTo () .frame (int frameIndex)

    
nilesh 10.11.2010 22:03
quelle
0

In selen, wenn Sie wissen, dass die relative Position des Rahmens Sie in der Lage sein, den selectFrame-Befehl mit der Zeichenfolge "relative = up" zu verwenden, um es einen Frame herauf z. selenium.SelectFrame("relative=up"); oder um zum obersten Frame zu springen benutze "relative = top"

    
Nathan 24.08.2010 14:14
quelle
0

Sie können einfach die ID Ihres iframe anstelle von iframe-name angeben.

Siehe mein Beispiel unten, es hat für mich funktioniert.
Im Beispiel wechsle ich auf meiner Seite zu einem iframe und klicke auf das Element in diesem iframe, das "worksheet0" ist.

Verwenden Sie den Code:

%Vor%

Der HTML-Code des iframe:

%Vor%     
Rakesh Prabhakaran 15.03.2012 12:05
quelle
0

Zusätzlich zur Verwendung des Indexes (wie die anderen Antworten vorschlagen) können Sie in C # den iFrame nach tagName auswählen. Mein Beispiel geht davon aus, dass es nur einen einzigen iFrame auf der Seite gibt.

%Vor%

Hinweis: Sie müssen die Informationen aus dem IWebElement .Text oder .Click beispielsweise abrufen, bevor Sie Driver.SwitchTo () aufrufen. DefaultContent ();

Ich habe diese Erweiterungen Methoden erstellt, um zu helfen

%Vor%

Ein Beispiel für die Verwendung der Erweiterungsmethoden:

%Vor%     
Aligned 02.04.2014 14:12
quelle