Поиск данных таблицы через Internet Explorer COM - PullRequest
1 голос
/ 10 февраля 2010

Я пытаюсь автоматизировать загрузку некоторых данных из веб-приложения через Powershell / Internet Explorer COM, аналогично этой статье .
Это нормально работает для обычных элементов / выпадающих меню, но как перемещаться по таблицам через COM-объект, если я хочу щелкнуть / найти ссылки внутри таблицы?

Ответы [ 2 ]

1 голос
/ 10 февраля 2010

Проверьте этот код:

$ie = New-Object -com InternetExplorer.Application
$tables = @($ie.Document.getElementsByTagName('table'))
# filter out the tables you are not interested in
$tables = filter-tables-somehow $tables
$links = $tables | 
  % { $_.getElementsByTagName('a') } |
  ? { filter-links-somehow $_ }
# and now process the links as you have been doing it so far

Вам необходимо отфильтровать некоторые таблицы, содержащие ссылки, которые вы не хотите загружать. То же самое относится и к ссылкам - я полагаю, вы хотите «щелкнуть» только по некоторым ссылкам.

Для такого рода автоматизации я бы рекомендовал взглянуть на WatiN (или PowerWatiN ). Это может сэкономить вам время.

0 голосов
/ 10 февраля 2010

Похоже на стандартную модель DOM, к которой люди обычно обращаются в javascript. Попробуйте $ doc.getElementsByTagName ('TABLE'), чтобы получить список таблиц. Используйте foreach или конвейеры, чтобы добраться до отдельных таблиц.

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