Powershell IE Автоматизация - невозможно установить значение для текстовой области - PullRequest
0 голосов
/ 10 июля 2020

Я просматриваю веб-страницу с текстовым полем:

<textarea aria-label="Add comment" class="form-control" cols="0" maxlength="100000" name="text" rows="0" tabindex="0" aria-required="true"></textarea>

Я хочу установить значение textaea, однако при этом получаю сообщение об ошибке: -

Error Details - Exception setting "value": "The property 'value' cannot be found on this object. Verify that the property exists and can be set.

Может ли кто-нибудь помочь мне в установке значения textarea.

Я использую приведенный ниже код для установки значения textarea.

 $AddCommentBtn = $ie.document.getElementsByTagName("section") | where {$_.className -eq "modal fade modal-addnote in"}
    $textareavalue=$AddCommentBtn.getElementsByTagName('textarea')

$textareavalue.value='Test'

Ниже мой скрипт: -

$ie = New-Object -ComObject 'internetExplorer.Application'
$ie.Visible= $true # Make it visible

$username=""

$password=""

$ie.Navigate("to some web-page")

While ($ie.Busy -eq $true) {Start-Sleep -Seconds 3;}

$usernamefield = $ie.document.getElementByID('Username')
$usernamefield.value = "$username"

$passwordfield = $ie.document.getElementByID('Password')
$passwordfield.value = "$password"

$Link = $ie.document.getElementByID('submit-signin-local')
$Link.click()

While ($ie.Busy -eq $true) {Start-Sleep -Seconds 3;}

$ie.Navigate("to some form")
While ($ie.Busy -eq $true) {Start-Sleep -Seconds 10;}

$description = 'Test Description'
$descriptionfield = $ie.document.getElementByID('description')
$descriptionfield.value = "$description"

$AddCommentBtn = $ie.document.getElementsByTagName("section") | where {$_.className -eq "modal fade modal-addnote in"}
$textareavalue=$AddCommentBtn.getElementsByTagName('textarea')
$textareavalue.value='Test'

#InsertButton
$Link = $ie.document.getElementByID('InsertButton')
$Link.click()
$ie.Quit()

Заранее спасибо.

1 Ответ

0 голосов
/ 12 июля 2020

Я решил эту проблему самостоятельно, добавив focus () перед установкой значения textarea.

...