Несколько веб-браузеров в одной программе - PullRequest
0 голосов
/ 01 февраля 2012

Моя проблема в том, что я не могу запустить несколько браузеров одновременно.

Когда я хочу удалить данные с помощью webbrowser1 с сайта1 и удалить другие данные с помощью webbrowser2 с сайта2, только первый webbrowser выполняет эту работу.

Я пытался запустить их в отдельных потоках, но это тоже не сработало. Я слышал что-то о STA ApartmentState до main, но он там присутствует и все еще ничего.

Как заставить оба веб-браузера работать одновременно?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2012

Если веб-сайт, с которого вы пытаетесь получить данные, не динамически изменяет HTML с помощью JavaScript, вы можете просто использовать для этого HtmlAgilityPack. Это лучшее, на мой взгляд, и с ним легко работать. Это решит вашу проблему с несколькими браузерами, поскольку вы можете асинхронно извлекать данные с нескольких веб-сайтов, используя разные экземпляры HtmlDocument в разных потоках.

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

Действительно, WebBrowser - это компонент ActiveX, который может работать только в однопоточной среде. Подобный вопрос был задан недавно: Проблема с таймерами и потоками

Я предлагаю использовать класс WebClient для выборки данных из нескольких мест одновременно.

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