Ich versuche, Dateien auf eine Website mit Selen, die wenn Klicken auf Datei öffnet ein natives Windows, so dass ich AutoIT, die nicht sehr zuverlässig scheint gestartet wenn ich zur parallelen Ausführung gehe. Da ich Selen mit C# benutze, dachte ich daran, eine Lösung zu finden, mit der ich das Native Window umgehen kann, aber ich kann keine Lösung finden. Bitte sagen Sie mir irgendeinen verlässlichen Weg, diese spezielle Automatisierung zu machen.Handhabung Wählen Sie Dateifenster in Selen mit C# ohne AutoIT
Antwort
Dies funktionierte für mich so hoffentlich wird es für Sie arbeiten. Ich benutze es hier in einer Erweiterungsmethode, aber Sie können als/in einer normalen Methode verwenden. Dies verwendet C# -Bibliotheken, um den Pfad im Dialogfeld einzugeben, und drückt die Eingabetaste, wenn Sie fertig sind.
Es gibt mehrere Möglichkeiten, auf diese zu gehen:
IWebElement element = driver.FindElement(By.Id("your_path_to_file_here"));
element.SendKeys("C:\\Some_Folder\\MyFile.txt");
IJavaScriptExecutor
Verwendung:
IWebElement element = driver.FindElement(By.Id("your_path_to_file_here"));
string script = "arguments[0].value='" + "C:\\\\temp\\\\file.txt" + "';";
((IJavascriptExecutor)driver).executeScript(script, element);
Beide Optionen den Text direkt in Ihrem Dateipfad einfügen input
und danach können Sie einfach auf die Schaltfläche Hochladen klicken .
Dies funktioniert nicht in diesem Fall, da es so entwickelt wird, dass wenn Datei Datei ausgewählt ist, sehe ich keine Änderung in DOM und auch ich sehe nirgends. Anstatt nach der Auswahl der Datei zeigt das Textfeld nur den Dateinamen und nicht den vollständigen Pfad. – Piyush
- 1. Handhabung 'wählen Sie ein digitales Zertifikat' mit selen webdriver chrome
- 2. Handhabung Authentifizierung erforderlich Pop-up
- 3. Wählen Sie mit Selen einen Rahmen
- 4. Autoit startet App ohne Fokus
- 5. Wählen Sie Kalender-Taste mit Selen-Webdriver
- 6. Wählen Sie ein Eingabeelement mit Selen
- 7. Selen Ide - Wählen Sie Optionen
- 8. Handhabung Browser-Pop-up-Fenster mit Selen
- 9. AutoIT - So wählen Sie Wert aus Drop-Down (Combobox)
- 10. Selen mit Chromrücklauf Ausnahme bei der Handhabung Alarm
- 11. Run AutoIt-Datei mit Ruby
- 12. Handhabung Dropdown-Element wählen Sie in React Bootstrap
- 13. wählen Checkbox Selen WebDriver
- 14. Signal in C Handhabung
- 15. Eintrag wählen Sie die Option Wert mit Selen und Python
- 16. Selen Python - Handhabung Keine solche Element Ausnahme
- 17. Wie lösche ich Dateifenster mit Ruby
- 18. Handhabung in Webdriver mit Chromeoptions
- 19. Handhabung SIGTSTP Signale in C
- 20. wählen und klicken Sie auf eine Schaltfläche mit CSS-Selektor in C# selen
- 21. So wählen Sie webElement unter Formular-Tag mit selen webdriver
- 22. Wählen Sie Knoten ohne Namensraum mit XPath
- 23. Autoit: Finden Sie Text mit @ beginnend *****
- 24. Handhabung von Gesten und Wischen mit Selen und Appium mit C#
- 25. So wählen Sie die zweite Kalender-Taste mit Selen
- 26. Handhabung Warnungen auf Last Selen für Python mit
- 27. SocketException ordnungsgemäße Handhabung in C#
- 28. Selen Framework mit C#
- 29. Wie mit löschen Datei autoit
- 30. AutoIt mit Firefox
Nicht in der Lage, genau zu verstehen, was Sie hier tun möchten. Wenn möglich, könntest du bitte noch etwas ausführlicher erläutern, mit welchem Fenster du hier umgehen willst. – Piyush
Der obige Code sendet also den Pfad zum Dateidialog, sobald das Dialogfeld geöffnet ist und die Eingabetaste gedrückt wird (anstatt auf die Schaltfläche 'OK' zu klicken). Ich werde es bearbeiten, um es offensichtlicher zu machen –
Ja Bearbeiten würde mir mehr helfen. Dank dafür. – Piyush