Mam input type = tekst inputboxes na stronie internetowej załadować i napełnić wartości i kliknij przycisk Prześlij, który działa prawidłowo:PowerShell: wpisz wartość w typie wejściowym = Forma pliku.
$ie=New-Object -comobject InternetExplorer.Application
$ie.visible=$true
$ie.Navigate("https://myurl/test.html")
while($ie.busy){Start-Sleep 1}
$ie.Document.getElementById("field_firstName").value="Firstname"
$ie.Document.getElementById("field_lastName").value="Lastname"
$ie.Document.getElementById("btn_upload").Click()
while($ie.busy){Start-Sleep 1}
Chciałbym również, aby wypełnić input type = plik pole z c: \ temp \ test.txt i prześlij to. Przeczytałem, że ze względów bezpieczeństwa wartość = nie jest obsługiwana przez przeglądarki.
Czy jest jakieś obejście tego problemu z PowerShell? Może "kliknij" przycisk przeglądania i wybierz plik lub użyj sendkeys?
To wygląda dobrze, chociaż mam problemy, aby znaleźć odpowiednie pole, ponieważ źródło nie ma identyfikatora, ale tylko imię ... Czy wiesz, czy mogę wyszukiwać według nazwy, a nie według id? – icnivad
Użyłem twojego przykładu gdzie wywołujesz funkcję getElementById, więc pomyślałem, że znasz identyfikator. Sprawdzę, czy to możliwe. – stej
Jestem również zdezorientowany, dlaczego mój pierwszy przykład zadziałał, ponieważ tam również mam tylko nazwę i brak tagu id ... Z twoim ostatnim przykładem $ _. GetAttributeValue ("name") wydaje mi się, że znajduję pudełko, ale mój przycisk submit (także bez id nazwy) nie zadziałało. Znowu się z tym bawić jutro. Dziękuję do tej pory – icnivad