2012-01-27 2 views
3

Я хочу написать небольшую утилиту, которая может автоматизировать интернет-проводник using C++ (No MFC). Некоторые из действий, которые я хочу, чтобы автоматизировать являются: -
1. Открытие URL-адрес
2. При нажатии на гиперссылку в экземпляре браузера
3. Установка значения текстовых полей
4. Проверка флажков, падение вниз и т.д.
Автоматизация Internet Explorer с использованием C/C++

Я являюсь абсолютным новичком и не имею опыта работы с COM, однако в настоящее время я участвую в процессе обучения. Может ли кто-нибудь вести меня, как предлагая ресурсы и краткую схему того, что мне нужно сделать для автоматизации. Я буду очень признателен.

Thanks, Ashish.

+2

Если вы только учитесь создать C# WinForm приложение, падение в элементе управления WebBrowser и вуаля! –

+0

Спасибо @JeremyThompson, но я не могу использовать C#, я хочу использовать C++, а также немного узнать о COM, я заказал INSIDE COM, ожидая его отправки. На данный момент COM все запутанно. –

+0

Компонентная модель объекта (COM) действительно старая. С WinRT и следующей визуальной студией «vNext», MetroApps и т. Д. За углом, я бы рекомендовал вам выбрать более современную технологию. Другое предложение - использовать блок-рекордер Unit - как Selenium для FireFox, но один нацелен на IE, приветствия –

ответ

3

Я настоятельно рекомендую поддержку COM компилятора Microsoft Visual C++.

Обычно это работает так:

#import "c:\path\to\typelib.tlb" 

#import "c:\path\to\library.dll" 

#import "c:\path\to\program.exe" 

Это то делает его очень проста в использовании Internet Explorer или любой другой COM-объекта из C++.

Смотрите здесь для документации:

+0

Привет @Ben Я столкнулся с интерфейсом IWebBrowser2, я могу использовать это, чтобы открыть окно IE, но как выполнять такие действия, как щелчок по гиперссылкам и заполнение текстовых полей? Есть идеи? –

+1

Из IWebBrowser2 вам нужно получить объект Document с помощью 'get_Document'. Оттуда вы можете управлять документом, используя тот же API DOM, что и JavaScript, работающий в браузере. – Ben

+0

Можете ли вы указать мне ресурс или пример, который управляет документом с использованием DOM API. Спасибо –

1

Джереми Томпсон предложил основной ответ: используйте элемент управления WebBrowser. Это намного проще в C#, потому что в нем есть довольно какой-то шаблонный код, который вам нужен. Даже MFC содержит некоторые из них. Без этого вам нужно будет создать соответствующий контейнер ActiveX. Для кого-то, кто не знает COM вообще, это очень нетривиально. ActiveX - это усовершенствованная технология COM. Есть несколько примеров кода here

После того, как вы его разместили, все становится довольно тривиальным в сравнении. Открытие URL-адреса - это всего лишь один звонок: IWebBrowser2::Navigate(URL, flags...)

+0

Я могу выполнить навигацию, мне нужна помощь в выполнении других действий, таких как щелчок по ссылке и заполнение текстовых полей и т. Д. –

Смежные вопросы