Добрый день.
Я использую webbrowser control из windows.forms (Visual Studio C# 2010 Express) для автоматизации различных действий с сайтами. Браузер стоял IE 9. Webbrowser control функционировал аналогично. В работе столкнулся с сайтом, на котором IE9 ведёт себя неподобающим образом. Поставил IE 10. Он работает на сайте нормально. А вот функционирование webbrowser control-а осталось прежним. Подскажите, как можно его обновить. ОС Windows 7 Максимальная.
Здравствуйте, Евдоким, Вы писали:
Е>Добрый день. Е>Я использую webbrowser control из windows.forms (Visual Studio C# 2010 Express) для автоматизации различных действий с сайтами. Браузер стоял IE 9. Webbrowser control функционировал аналогично. В работе столкнулся с сайтом, на котором IE9 ведёт себя неподобающим образом. Поставил IE 10. Он работает на сайте нормально. А вот функционирование webbrowser control-а осталось прежним. Подскажите, как можно его обновить. ОС Windows 7 Максимальная.
Здравствуйте, RonWilson, Вы писали:
RW>здесь как и что
Пробовал в реестре и 10000 и 10001 — не помогает. Даже когда выставляю 9000 — т.е эмуляция IE9, webbrowser control в user agent-е представляется как IE10, а функционирует как IE9.
Здравствуйте, Евдоким, Вы писали:
Е>Здравствуйте, RonWilson, Вы писали:
RW>>здесь как и что
Е>Пробовал в реестре и 10000 и 10001 — не помогает. Даже когда выставляю 9000 — т.е эмуляция IE9, webbrowser control в user agent-е представляется как IE10, а функционирует как IE9.
Здравствуйте, RonWilson, Вы писали:
RW>обратите внимание на версию IE10 — она 9.10.***
Версия IE 10.0.9200.***
Когда захожу на сайт с браузера, и когда заходит webbrowser control, различия налицо — и в оформлении и в функционировании ( работа скриптов).
Здравствуйте, Евдоким, Вы писали:
Е>Версия IE 10.0.9200.*** Е>Когда захожу на сайт с браузера, и когда заходит webbrowser control, различия налицо — и в оформлении и в функционировании ( работа скриптов).
может неправильно путь до программы выставили? винда x64? у меня все нормально, правда версия ИЕ почему-то 9.10
RW>может неправильно путь до программы выставили? винда x64? у меня все нормально, правда версия ИЕ почему-то 9.10
винда x32. Я IE10 сегодня скачал . может это обновлённый релиз по сравнению с вашей. Я понимаю так, что по умолчанию webbrowser control должен использовать движок установленного в системе браузера IE. Но у меня получается так, что браузер обновился (и работает по новому), а control функционирует как IE9, на месте которого уже стоит IE10. Немного непонятная ситуация.
Е>винда x32. Я IE10 сегодня скачал . может это обновлённый релиз по сравнению с вашей. Я понимаю так, что по умолчанию webbrowser control должен использовать движок установленного в системе браузера IE. Но у меня получается так, что браузер обновился (и работает по новому), а control функционирует как IE9, на месте которого уже стоит IE10. Немного непонятная ситуация.
по умолчанию iwebbrowser2 использует IE6 движок и mshtml соотвественный, это какой-то мужик из MS объяснял дабы сохранить совместимость с встроенными элементами. Результат налицо
Здравствуйте, Евдоким, Вы писали:
Е>RonWilson спасибо. попробую ещё в реестре поковырять. может что упустил. хотя ставил даже "*" вместо имени программы.
Если нужен современный веб браузер, то лучше взять обертку над WebKit или Chrome
http://awesomium.com/ — ставил, пытался с ним работать. Но сложилось впечатление , что для реальной работы он ещё сырой, документация очень скудная. С DOM элементами работа только через вызов специального метода с переданной ему javascript командой (по моему ExecuteJavascriptCommand называется, уже не помню). Этот метод в случае ошибки при выполнении команды возвращает код ошибки и всего определено гдето 6-8 кодов. Наподобие — 1=неправильная команда, 2объект не сужествует, 3соединение 4 и.д. . Вот- нашёл специально
None 0 No error (everything is cool!);BadParameters 1 Bad parameters were supplied. ; ObjectGone 2 The object no longer exists.; ConnectionGone 3 The IPC connection no longest exists.; TimedOut 4 The operation timed out.; WebViewGone 5 The web-view no longer exists.; Generic 6 A generic error was encountered.;
То-есть отлаживать там программу нереально сложно.
Короче, мне эта библиотека не подошла. Может в ней есть что-то полезное, но это необходимо сидеть, разбирать её при отсутствии норм. документации. А времени на это нет. Нужно делать работу в срок.
GeckoFX — примерно то-же самое.
По моему все эти открытые проекты имеют эти недостатки.
Здравствуйте, Евдоким, Вы писали:
Е>http://awesomium.com/ — ставил, пытался с ним работать. Но сложилось впечатление , что для реальной работы он ещё сырой, документация очень скудная. С DOM элементами работа только через вызов специального метода с переданной ему javascript командой (по моему ExecuteJavascriptCommand
... Е>То-есть отлаживать там программу нереально сложно.
С DOM элементами намного удобнее работать из JS, в нативный мир протаскивать все эти API — просто не нужно. Ну и более-менее у всех chromium-based решениях, в силу архитектурных особенностей, DOM живет в отдельном процессе, как и JS, поэтому:
1. Любой JS всегда выполняется асинхронно.
2. Вернуть значения из JS можно, но это на совести JS кода (через расширения на стороне рендерера).
3. API awesomium гораздо лучше документированы чем что-либо другое, и более того ещё и возвращает ошибки, если вызваны IPC. В том же CEF — аналогичный метод void ExecuteJavaScript и всё.
Е>Короче, мне эта библиотека не подошла. Может в ней есть что-то полезное, но это необходимо сидеть, разбирать её при отсутствии норм. документации. А времени на это нет. Нужно делать работу в срок. Е>GeckoFX — примерно то-же самое. По моему все эти открытые проекты имеют эти недостатки.
Аналогично со всеми остальными. Идеального ничего нет, увы.
Re[12]: Webbrowser control и версия IE
От:
Аноним
Дата:
18.05.13 22:14
Оценка:
Здравствуйте, fddima, Вы писали:
F> Аналогично со всеми остальными. Идеального ничего нет, увы.
Да, согласен. Для решения моих задач меня в общем-то устраивает webbrowser control. Единственное, что я хотел найти — возможность работая с элементом input type="file" отправлять файл с формы, указав путь к нему. В IE эта возможность отключена исходя из соображений безопасности — только через диалоговое окно выбора файла. Приходится городить POST запрос, порой и не один, отслеживать в каких полях что передаётся, то есть возни много. По моему в Awesomium это возможно, исходя из того что я прочёл в документации. Но до этого момента в реализации моих модулей под Авесомиумом я так и не дошёл. Погряз в непонятках ещё на подступах. Времени на разбирательство с ним не было. Позднее попытаюсь добить этот момент.
Если кто в курсе насчёт этой возможности, поделитесь пожалуйста информацией.
Здравствуйте, Аноним, Вы писали:
А>Да, согласен. Для решения моих задач меня в общем-то устраивает webbrowser control. Единственное, что я хотел найти — возможность работая с элементом input type="file" отправлять файл с формы, указав путь к нему. В IE эта возможность отключена исходя из соображений безопасности — только через диалоговое окно выбора файла. Приходится городить POST запрос, порой и не один, отслеживать в каких полях что передаётся, то
В CEF — будет аналогично. За остальных не знаю.
Попробуйте сразу после тега <head> добавить тег <META HTTP-EQUIV='X-UA-Compatible' CONTENT='IE=edge' />. При этом HTML должен начинаться с <!DOCTYPE html>.
Здравствуйте, AndrewVK, Вы писали:
HD>>https://github.com/chillitom/CefSharp HD>>https://bitbucket.org/xilium/xilium.cefglue/overview AVK>Ох как там все непросто. Янус пока так и не удалось допилить до нужного состояния, хотя требования к браузеру у него небольшие.
Да времени щас нет этим заниматься. Скоро будет новый билд, там как раз пофикшены кое-какие дедлоки на которые я напарывался. =)
Ну а вообще да — не просто, к сожалению.
Здравствуйте, fddima, Вы писали:
F> Да времени щас нет этим заниматься. Скоро будет новый билд, там как раз пофикшены кое-какие дедлоки на которые я напарывался. =)
С дедлоками мы вроде более менее пофиксили, с a:visited вроде как в следующем билде будет. К сожалению что делать с тем, что ломается WinForms синхронизация каким то странным образом, из-за чего DataGrid себя криво ведет, непонятно.
... << RSDN@Home 1.2.0 alpha 5 rev. 99 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
F>> Да времени щас нет этим заниматься. Скоро будет новый билд, там как раз пофикшены кое-какие дедлоки на которые я напарывался. =) AVK>С дедлоками мы вроде более менее пофиксили, с a:visited вроде как в следующем билде будет.
То другой. Там была пара гонок внутри CEF, и я это ощущал на LoadURL. Ты вроде не наступал на это, думаю за счет другого железа.
AVK>К сожалению что делать с тем, что ломается WinForms синхронизация каким то странным образом, из-за чего DataGrid себя криво ведет, непонятно.
Не понял. Как ломается? Симптомы какие?
Здравствуйте, fddima, Вы писали:
AVK>>К сожалению что делать с тем, что ломается WinForms синхронизация каким то странным образом, из-за чего DataGrid себя криво ведет, непонятно. F> Не понял. Как ломается? Симптомы какие?
Отруби интернет и попробуй синхронизироваться.
... << RSDN@Home 1.2.0 alpha 5 rev. 99 on Windows 8 6.2.9200.0>>
Здравствуйте, Евдоким, Вы писали:
Е>Добрый день. Е>Я использую webbrowser control из windows.forms (Visual Studio C# 2010 Express) для автоматизации различных действий с сайтами. Браузер стоял IE 9. Webbrowser control функционировал аналогично. В работе столкнулся с сайтом, на котором IE9 ведёт себя неподобающим образом. Поставил IE 10. Он работает на сайте нормально. А вот функционирование webbrowser control-а осталось прежним. Подскажите, как можно его обновить. ОС Windows 7 Максимальная.
А в использовании элемента управления WebBrowser действительно есть необходимость? Помимо заморочек с версиями, там еще много всяких других заморочек. Может быть переделать программу на работу с экземплярами полноценного браузера через Interop и Automation?