автоматизация IE PowerShell getElementByID с несколькими записями - PullRequest
0 голосов
/ 24 февраля 2012

это получает только первый из элементов, хотя бэкэнд cgi (такой как php) может получить все это в массиве.

$surl=some url
$ie = new-object -com "InternetExplorer.Application"
$ie.visible = $true
$ie.navigate($surl)
$doc = $ie.Document
$element = $doc.getElementByID("some_name[]")

это только первый из элементов с тем же именем.

Я пытаюсь заполнить значения скриптом, но до сих пор не нашел пути выхода за пределы первого из этих элементов.Я не контролирую рендеринг документов, поэтому не могу изменить их названия.

спасибо за любые идеи!

1 Ответ

1 голос
/ 24 февраля 2012

HTML ID должен быть уникальным! Вот почему вы получаете только один.

От: http://www.w3schools.com/tags/att_standard_id.asp

Атрибут id указывает уникальный идентификатор для элемента HTML (значение должен быть уникальным в документе HTML).

Атрибут id чаще всего используется для указания на стиль в таблице стилей, и с помощью JavaScript (через HTML DOM) для управления элементом с конкретный идентификатор.

Согласно документации getElementById :

Возвращает ссылку на первый объект с указанным значением атрибут ID или NAME.

Используйте getElementsByClassName или getElementsByName или getElementsByTagName вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...