Я пытаюсь использовать powershell для ввода текста в два текстовых поля. Я могу ввести значение в первое поле, но не во второе. Это связано с тем, что я не знаю, как изолировать второе текстовое поле, так как оно имеет тот же код, что и первое текстовое поле, включая такие вещи, как ID, Class, TagName и т. Д. c.
Ниже приведен мой код с удаленным URL (из-за работы). Сначала я думал изолировать второе текстовое поле, используя -ne для значения первого, так как при вводе значения оно дифференцировало код, однако, похоже, это не сработало. Я новичок в кодировании, поэтому мои извинения, если я выражаю себя плохо, но любая помощь, которую вы можете предоставить, будет принята с благодарностью.
Вот два текстовых поля, я могу ввести значение в первое с помощью powershell, но я не могу выделить второе текстовое поле для ввода значения в него. Это связано с тем, что две строки кода идентичны. См. Второе изображение
. Как видите, две строки кода для ввода идентичны, поэтому я не могу использовать GetElementById / TagName / Имя, чтобы указать, в какое текстовое поле я хочу, чтобы powershell ввел значение
$Web = "URL"
$Internet = New-Object -ComObject InternetExplorer.Application
$Internet.visible = $true
$Internet.Navigate($web)
While($Internet.Busy -eq $true){
Start-Sleep -Seconds 1
}
$Internet.document.getElementById("filterValue").value="Number"
$link = $Internet.Document.getElementsByTagName('a') | where-object {$_.innerText -eq 'Next Prompt'}
$link.click()
While($Internet.Busy -eq $true){
Start-Sleep -Seconds 1
}
**#Question about coding starts here**
$Input = $Internet.Document.IHTMLDocument3_getElementById("filterValue")
$Input.value = "1/1/2020"
While($Internet.Busy -eq $true){
Start-Sleep -Seconds 1
}
$Input2 = $Internet.Document.IHTMLDocument3_getElementById("filterValue") | ? {$_.value -ne "1/1/2020"}
Start-Sleep -Seconds 4
$Input2.value = "1/2/2020"