Доступ к адресной строке браузера FireFox

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 10.03.2017 (Пт) 7:30

Пишу обучающую прогу, что-то вроде бота. Необходимо получить координаты адресной строки и ввести туда нужный адрес.
А потом найти пару ссылок на сайте.

Выяснил, что по ID через перебор коллекции окон и т.п. Доступ к FireFox контролам, в частности к адресной строке не прокатит.

Какие Варианты остаются?
1. По абсолютным координатам: Но в зависимости от темы Windows, настроек интерфейса FireFox координаты могут быть разными.
2. Поиск по картинке.
3. Microsoft Active Accessibility - но я не уверен, что это функция позволяет ещё и вводить данные, насколько я понял она только для чтения.

Ребят, посоветуйте реальное решение.

Думал искать по картинке, но не представляю, как ускорить процесс поиска? по пиксельно очень долго. Может кто подскажет идею, как можно быстро найти картинку в картинке на VB6.

Буду благодарен любой полезной мысли и идее.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Доступ к адресной строке браузера FireFox

Сообщение Хакер » 10.03.2017 (Пт) 8:55

4. Selenium
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 10.03.2017 (Пт) 9:38

Selenium не подходит, мне нужен либо VB6 либо максимум VB.NET

Изучать другую среду, на это просто физически нет времени.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Доступ к адресной строке браузера FireFox

Сообщение Хакер » 10.03.2017 (Пт) 9:39

Причём тут другая среда и как Selenium противоречит использованию VB6 или VB.NET?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 10.03.2017 (Пт) 10:24

Насколько я понял, это среда разработки, типа AutoIT. Я в английском не силён. Ты если конкретно можешь что-то предложить, скажи, как организовать или кусок кода, пример какой-то. Не выгружай по 2 слова, а то уже я начинаю себя телепатом чувствовать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Доступ к адресной строке браузера FireFox

Сообщение Хакер » 10.03.2017 (Пт) 10:33

Это не среда разработки, это инструментарий для автоматизированного управления браузером. Среда там тоже какая-то есть (Selenium IDE), но чёрт бы с ней, это для зелёных новичков, нормальные парни обходятся без неё.

API, который предоставляется Селениумом, можно использовать из разных языков. Можно из Джавы, можно из PHP, можно из Python-а, можно из JS. Для каждого такого поддерживаемого языка существует свой, что называется, «переходник».

Существует группа «переходников» (они называются client drivers) для официально поддерживаемых языков, вот они:
http://www.seleniumhq.org/download/#client-drivers

Существует группа «переходников» от сторонних разработчиков:
http://www.seleniumhq.org/download/#thi ... geBindings

Как минимум среди них есть драйвер для C#, то есть с VB.NET проблем быть не должно.

Как максимум: раз сама архитектура селениума допускает существование драйверов для каких-угодно языков и сред, почему бы тебе взять и не создать универсальный COM-основанный драйвер Селениума. Если появится COM-интерфейс по управлению Селениумом, управлять им можно будет из VB6, VBA (всех офисовских продуктов), VBScript-а, Delphi, C и С++ и вообще почти откуда угодно (даже тот же PHP или JS под Windows могут работать с ActiveX-объектами).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 10.03.2017 (Пт) 10:36

Хакер писал(а):... почему бы тебе взять и не создать универсальный COM-основанный драйвер Селениума. Если появится COM-интерфейс по управлению Селениумом, управлять им можно будет из VB6, VBA


Я не против попробовать. Но сейчас у меня нет так много времени, меня подгоняют и времени дали буквально неделю.

Прямо сейчас, мне нужно решить вопрос в минимальные сроки. А в дальнейшем, этот вопрос интересный, я к нему вернусь.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 10.03.2017 (Пт) 10:42

Хакер писал(а):Как минимум среди них есть драйвер для C#, то есть с VB.NET проблем быть не должно.


Как думаешь, а к VB6 прикрутить его не получится? Я просто уже проект набросал в VB6 не хочется его с нуля портировать в VB.NET

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Доступ к адресной строке браузера FireFox

Сообщение Mikle » 10.03.2017 (Пт) 10:45

TrueTrue писал(а):а к VB6 прикрутить его не получится? Я просто уже проект набросал в VB6 не хочется его с нуля портировать в VB.NET

В VB.NET можно подключить драйвер и собрать ActiveX DLL, экспортирующую нужные ф-ции. Это костыль тот ещё, но работает, я когда-то так пробовал подключать ManagedDX.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Доступ к адресной строке браузера FireFox

Сообщение Хакер » 10.03.2017 (Пт) 10:55

TrueTrue писал(а):Но сейчас у меня нет так много времени, меня подгоняют и времени дали буквально неделю.

Недели хватит выше крыши.

По-моему это быстрейшее решение из всех возможных, по крайней мере, это выглядит в разы проще, чем распознавание изображений. Конечно распознавание полей не такое сложное, но если подумать, что на разных компьютерах из-за разных настроек масштабов, стилей и скинов всё это может отличаться в ту или иную сторону, задача начинает приобретать очень большую сложность.

А что касается создания нового «коннектора» или «драйвера» или «переходника» к Селениуму, то тут нет ничего экстраординарного, потому что сам Селениум принимает «команды» к действию в виде HTTP-запросов, поэтому задача переходника — просто транслировать вызовы из того языка, для которого он предназначен, в HTTP запросы непосредственно к селениуму.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 10.03.2017 (Пт) 11:09

Хакер писал(а):Недели хватит выше крыши.


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

Выяснилось, что я даже не знаю, как подключить чужую DLL к VB6 проекту. Нашёл я WebDriver.dll, скачал, нашёл описание для VB.NET. Пробую регистрировать dll, она не регистрируется. Сейчас пытаюсь подключить её к VB6. Если не получится, видимо придётся переделывать проект в VB.NET с нуля.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Доступ к адресной строке браузера FireFox

Сообщение Хакер » 10.03.2017 (Пт) 13:42

И всё-таки, если пойдёшь предложенной дорогой, то вот описание протокола:
https://w3c.github.io/webdriver/webdriv ... l#protocol
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Re: Доступ к адресной строке браузера FireFox

Сообщение ALX_2002 » 12.03.2017 (Вс) 19:29

А готовые варианты использовать возбраняется ? :|

http://www.iol.ie/~locka/mozilla/control.htm

https://florentbr.github.io/SeleniumBasic/

https://code.google.com/archive/p/selenium-vba/ (даже вариант под VBA уже есть)

Если уж не использовать целиком, так хоть посмотреть на принцип взаимодействия.

Гугл вообще же много чего предлагает по запросу VB6 selenium - http://lmgtfy.com/?q=VB6+selenium

Или я что-то не учитываю и нужно не это ?

Кстати вариант с движком IE - InternetExplorer.Application по каким причинам отметён ? Как никак встроенное решение в Windows. Не требует установки стороннего ПО.

2 TrueTrue: Думаю Вам стоит прислушаться к словам, уважаемого коллеги Хакера. За его плечами очень большой опыт программирования.
Не в моих правилах кого-то осуждать или вставать в чью-то защиту, но честно говоря, Ваше поведение "немного" удивляет.
Вы задали вопрос:
Ребят, посоветуйте реальное решение.... Буду благодарен любой полезной мысли и идее.
.
Хакер Вам ответил кратко и по существу:
Selenium
. Достаточно было в поисковике вбить Selenium и понять, что направление Вам дано абсолютно верно.
Он же в ответ получил:
Ты если конкретно можешь что-то предложить, скажи, как организовать или кусок кода, пример какой-то. Не выгружай по 2 слова, а то уже я начинаю себя телепатом чувствовать.

На мой взгляд, грубо и неоправданно. Вы ждёте, что Вам предложат готовое решение ? Тогда можете обратиться в коммерческий раздел и заказать разработку, полностью расписав ТЗ. Если же Вам нужна помощь, то рекомендую с уважением отнестись к тому, что Вам говорят и более тщательно продумывать вопросы. Потому что желания помогать в ответ на хамство ни у кого нет.
Последний раз редактировалось ALX_2002 12.03.2017 (Вс) 19:59, всего редактировалось 1 раз.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 12.03.2017 (Вс) 19:42

ALX_2002 писал(а):А готовые варианты использовать возбраняется ? :|

Да говорю же с Английским у меня туго. А за ссылки спасибо огромное.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Re: Доступ к адресной строке браузера FireFox

Сообщение ALX_2002 » 12.03.2017 (Вс) 20:00

TrueTrue,
Да говорю же с Английским у меня туго. А за ссылки спасибо огромное.


А использовать встроенный переводчик в Google Chrome брезгуете ? На мой взгляд, крайне удобная вещь.

P.S Вы уверены, что функционал InternetExplorer.Application вам не подходит ?
В частности, например для работы с VK API мне хватило WinHttp.WinHttpRequest.5.1. Может и Вам нужно нечто иное, нежели возможности Selenium-а ? Можно подробнее узнать о том - к чему делается бот ?

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 13.03.2017 (Пн) 18:46

ALX_2002 писал(а):А использовать встроенный переводчик в Google Chrome брезгуете ? На мой взгляд, крайне удобная вещь.

P.S Вы уверены, что функционал InternetExplorer.Application вам не подходит ?
В частности, например для работы с VK API мне хватило WinHttp.WinHttpRequest.5.1. Может и Вам нужно нечто иное, нежели возможности Selenium-а ? Можно подробнее узнать о том - к чему делается бот ?

Ещё бы не использовать, конечно использую КРИВОЙ встроенный переводчик.


Изображение



Что касается IE, я предлагал, заказчик не согласился... Но я попробую ещё раз поговорить.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Re: Доступ к адресной строке браузера FireFox

Сообщение ALX_2002 » 13.03.2017 (Пн) 19:05

Я не зря уточнил - переводчик встроенный в Google Chrome.

Изображение

Изображение

Вы же, скриншотом показывает перевод сайта.

На мой взгляд, разница существенна.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Доступ к адресной строке браузера FireFox

Сообщение ger_kar » 13.03.2017 (Пн) 19:31

Кстати, а как так получается, что все окно у FireFox единое и монолитное, что это за технологии такие пошли. Одну такую технологию я уже поюзал, WPF называется и работает под Net Framework. При ее использовании получаются как раз подобные окна, но вряд ли Fox использует WPF. Видимо сейчас уже существуют и другие технологии аналогичные WPF и работающие по такому же принципу. И может для этих технологий существуют свои способы, чем то напоминающие методы работы с окнами? Ведь все равно, даже в отсутствие отдельных окон как то обрабатываются оконные сообщения, контролы реагируют на действия пользователя и т.д. Может есть какое то API для этих целей, которое можно заюзать?
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Доступ к адресной строке браузера FireFox

Сообщение Хакер » 13.03.2017 (Пн) 20:02

ger_kar писал(а):ну такую технологию я уже поюзал, WPF называется и работает под Net Framework. При ее использовании получаются как раз подобные окна, но вряд ли Fox использует WPF. Видимо сейчас уже существуют и другие технологии аналогичные WPF и работающие по такому же принципу.

Технология простая: бери и рисуй что хочешь.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Доступ к адресной строке браузера FireFox

Сообщение TrueTrue » 13.03.2017 (Пн) 20:04

ALX_2002 писал(а):Я не зря уточнил - переводчик встроенный в Google Chrome.

Изображение

Изображение

Вы же, скриншотом показывает перевод сайта.

На мой взгляд, разница существенна.

Ааа, значит я Вас не верно понял ну я просто пользуюсь FF, Хром как-то вообще не воспринимаю. Ну посмотрю тогда.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Доступ к адресной строке браузера FireFox

Сообщение ger_kar » 13.03.2017 (Пн) 20:39

Хакер писал(а):Технология простая: бери и рисуй что хочешь.
Ну а как же тогда компонентная (или оконная) модель, ведь все одним монолитом рисовать как то стремненько и вроде как не по феншую.

TrueTrue писал(а):Хром как-то вообще не воспринимаю. Ну посмотрю тогда.
Потому что Хром редкая гадость. Я его например воообще органически не перевариваю, а для перевода больше юзаю https://www.bing.com/translator. Его переводы IT текстов более юзабельные на мой взгляд
Бороться и искать, найти и перепрятать

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Доступ к адресной строке браузера FireFox

Сообщение Proxy » 13.03.2017 (Пн) 21:22

ger_kar писал(а):Потому что Хром редкая гадость. Я его например воообще органически не перевариваю, а для перевода больше юзаю https://www.bing.com/translator. Его переводы IT текстов более юзабельные на мой взгляд

Ввиду некоторой специфической деятельности периодически перевожу некоторые тексты переводчиком, чтобы не тратить время попусту. Совсем недавно наблюдал вторую волну ухудшения качества перевода гуглом. Первое значительное ухудшение наблюдал пару лет назад: предложения стали чаще всего несогласованными. Сейчас, имхо, качество перевода стало близко к таковому у Промта начала 00-х (часто вообще какой-то случайный набор слов на русском, даже с контекстом стал ошибаться часто). Самая большая загадка для меня: почему только я это замечаю?
Притом я хорошо помню то время, когда google translate работал адекватно. В первом своем ВУЗе тоже переводил технические статьи — править приходилось куда как меньше.
Пока для Windows выбрал для себя QTranslate как наиболее удобный инструмент (переводчики на выбор, всплывающее окно позволяет не терять концентрацию на оригинальном тексте, для перевода отдельных словосочетаний подходит отлично. Удобно переключаться между переводчиками).
Follow the white rabbit.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 46

    TopList