Обрабатывать кнопку вспышки с помощью WatiN - PullRequest
1 голос
/ 01 декабря 2010

Я использую WatiN для автоматизации браузера.Это круто.Но сегодня я столкнулся с проблемой, когда мне нужно вызвать объект flash (кнопку загрузки) на моей странице asp.net.

Этот код работает нормально, но не показывает никаких действий

        Element ele = window.Element(Find.ById("uploadifyUploader"));
        ele.Click();

Есть ли способ добиться этого в WatiN .?

1 Ответ

1 голос
/ 02 декабря 2010

Я могу ошибаться, но я думаю, что запуск ele.Click() приводит к нажатию на элемент <object/>, но не на кнопку. Содержимое элемента <object/> - это просто приложение. Там у вас есть flash-объект, но это может быть, например, Java-апплет.

Нажатие на эту кнопку аналогично нажатию кнопки в другом приложении - вам нужно автоматизировать Windows, а не IE, поэтому потребуются некоторые вызовы API, такие как FindWindowEx или SendMessage и т. Д. Я думаю, что использование * Пространство имен 1008 * может быть немного полезным, но, вероятно, недостаточно. Вам нужно будет использовать некоторые внешние методы из user32.dll.

Вместо этого вы можете использовать какую-то библиотеку для автоматизации Windows. Я слышал, что AutoIt - это хорошо, но я им не пользовался. Для небольших задач я предпочитаю иметь дело с нативными вызовами.

Кроме того, WinSpy ++ очень полезен для поиска свойств Windows.

...