1 (изменено: sna, 2013-01-31 14:19:20)

Тема: AHK: Щелчок ЛКМ по ссылке

Прошу оказать методическую поддержку...
В окне просмотрщика (не стандартного!) HTML-страниц имеется ряд ссылок, адресной строки нет. Все ссылки я могу получить, обработав HTML-код страницы, и любую из них могу активировать только щелчком ЛКМ. Возникает задача: найти ссылку в окне, спозиционировать на ней мышь и сделать щелчок ЛКМ. Найти не проблема обычным поиском: Ctrl+F + <имя ссылки> + Enter. После этого действия, ссылка подсвечена, код фонового цвета известен. Пикселы с этим цветом найти не проблема и не проблема переместить в это место мышь и щелкнуть. Проблема в том, что пикселов этих уж слишком много. Я вынужден указывать в качестве области поиска почти весь экран - 2млн.пиксел. Долго. И нет уверенности в том, что фоновый цвет задействован только для выделения текста ссылки по окончании поиска. Быть может, кто-то решал аналогичную задачу другими методами?

Спасибо за внимание.

2

Re: AHK: Щелчок ЛКМ по ссылке

Дико извиняюсь... еще не вошло в плоть и кровь.

3

Re: AHK: Щелчок ЛКМ по ссылке

Можно перемещаться по ссылкам, используя [Tab]? И как называется нестандартный просмотрщик? Например, в Mozilla FF можно найти ссылку Ctrl+F + <имя ссылки>. Далее Esc, чтобы выйти из режима поиска и Enter, чтобы активировать ссылку.

4

Re: AHK: Щелчок ЛКМ по ссылке

Этот нестандартный просмотрщик - встроенная справка 1С8. И мне нужно было для некоторой страницы справки выбрать все имеющиеся на ней ссылки и посетить все страницы по ссылкам. Как я уже писал, это возможно только "мышиным" способом. Впрочем, я уже нашел решение. Не скажу, что оно элегантное. Достаточно просмотр страниц вести в маленьком окошке и координаты его сообщить скрипту. (ведь "просмотр" страниц будет выполнять не человек, и не зрительно). Теряется универсальность алгоритма, но обретается высокая скорость при поиске нужного пиксела, и устраняется вероятность того, что будет найдено что-то отличное от ссылки. Но, возможно, кто-то знает иные подходы... Сейчас в основе лежит:

;Передо мной страница справочной системы со ссылками на др. страницы
;Перебираю ссылки этой страницы

SendInput, ^{sc021}        ;{Ctrl+F} начинаю поиск тек.ссылки по наименованию    
StrF := "Собственно наименование ссылки"
SendInput, %StrF%        
SendInput, {Enter}        ;ищем на странице...

;ссылка найдена и она выделена фоновым цветом 0x800000

;если бы искал человек, то искал бы в окне большого размера
;~ PixelSearch, OutputVarX, OutputVarY, 30, 100, 1900, 1000, 0x800000

;Компутеру достаточно дать в работу маленькое окошечко и координаты его
;обозначить в PixelSearch, например
PixelSearch, OutputVarX, OutputVarY, 350, 180, 700, 210, 0x800000
Click, OutputVarX, OutputVarY        ;и вот сам клик по найденной ссылке

;все, мы на странице, полученной по ссылке. Что-то делаем...
;возвращаемся на первую страницу и продолжаем перебор ссылок

5

Re: AHK: Щелчок ЛКМ по ссылке

Может перебрать файл html регулярным выражением на наличие "http://" с пробелами по "бокам", и открыть все найденные командой RUN в дефолтном браузере.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Щелчок ЛКМ по ссылке

Не-не-не... никаких внешних браузеров. Фирма 1С очень трепетно относится к своей системе и не позволит кому либо черпать кладези данных из себя, даже при наличии ссылок. Все должно крутиться только в контексте 1С, внутри конфигуратора, его же средствами. Так что... сначала приобретаем 1С, устанавливаем, а затем пользуемся всем предоставленным сервисом (во-внутрях). К радости моей, есть AHK, позволяющий сделать работу программиста 1С немного более эффективной.

7 (изменено: serzh82saratov, 2013-02-01 12:25:13)

Re: AHK: Щелчок ЛКМ по ссылке

Ну тогда просто без команды Run сохраняйте ссылки в массив и используйте.
Просто не совсем понятно как вы конкретно используете полученные ссылки, и для чего?
Или используются гиперссылки адреса которых неизвестны, а файл справки который использует 1С неизвестен, и его нельзя прочитать в переменную?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Щелчок ЛКМ по ссылке

Дальнейшее обсуждение этой темы носит уже чисто "академический" интерес. Пожалуй, я удовлетворюсь уже найденным решением, которое изначально ввиду ошибочного подхода оказалось слишком медленным. Как я использую полученные страницы, выходит за рамки этой темы. Спасибо всем, пожелавшим мне помочь.
Serzh82saratov, как я уже писал, воспользоваться ссылками в справочной системе 1С я могу только щелкнув по ним мышаком. И хотя нет проблем получить эти ссылки в виде http://..., использовать  их возможности нет. Внутри 1С крутится какой-то там сервак справочной системы, и доступ к нему только через встроенный "браузер" без адресной строки. Ведь предполагается, что вы тупо просматриваете страницы, переходя по ссылкам с помощью мыши. Это надо видеть...

9

Re: AHK: Щелчок ЛКМ по ссылке

sna пишет:

Это надо видеть...

Скрин в студию!

AutoHotKey Version: 1.1.09.02
Не спеши, а то успеешь..