Wie kann ich einen Pfad für eine Datei zum Hochladen festlegen, wenn ein Eingabeelement nicht sichtbar ist und nur auf ein Anchor-Tag verweist?

9

Mit WebDriver, wenn das Element vom type="file" ist, kann ich normalerweise einfach eine .sendKeys () direkt an das Element anhängen und es funktioniert wunderbar.

Leider ist die Situation, die ich jetzt habe, eine benutzerdefinierte Schaltfläche, die ein Anker-Tag hat, das sich auf das Eingabeelement bezieht:

%Vor%

In diesem Fall funktioniert sendKeys () nicht am Anker-Tag:

%Vor%

Fehler: org.openqa.selenium.WebDriverException: focusElement-Ausführung fehlgeschlagen; Fehler beim Senden der Schlüssel, da Element

nicht fokussiert werden kann

Auch arbeitet sendKeys () nicht mit dem nicht sichtbaren Dateieingabeelement:

%Vor%

Fehler: org.openqa.selenium.ElementNotVisibleException: Das Element muss zum Klicken auf

angezeigt werden

Ich habe versucht, javaScript zu injizieren, um den Pfadwert für das nicht sichtbare Eingabeelement auf verschiedene Arten zu setzen (siehe unten), aber nichts scheint zu funktionieren. Irgendwelche Ideen, wie ich diesen Weg setzen kann?

%Vor%

Jede Hilfe oder Vorschläge würden sehr geschätzt werden!

    
LucidCDN 11.03.2013, 14:55
quelle

1 Antwort

4

Versuchen Sie zuerst, das Steuerelement anzuzeigen, legen Sie den Wert fest und verbergen Sie ihn dann erneut:

%Vor%     
gilly3 11.03.2013, 16:36
quelle