Что нового

[Мышь, клавиатура] Скрипт наведения мыши на выделенный текст в браузере

enivor

Новичок
Сообщения
4
Репутация
0
Здравствуйте!

Нужен скрипт наведения курсора мыши на выделенный текст в браузере. То есть я нажимаю ctrl+f, выбираю один из найденных вариантов, далее мне нужно чтобы курсор мыши навелся на него. Если данная задача невыполнима, то возможны определенные упрощения. На данный момент хотелось бы получить именно эту возможность. По цене готов выслушать предложения.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
IE11
Код:
#include <ie.au3>
Local $oIe = _IEAttach('', 'instance', 1)
If Not IsObj($oIe) Then Exit MsgBox(0, 0, -1)

Local $selection = $oIe.document.getSelection()
If Not IsObj($selection) Then Exit MsgBox(0, 0, -2)

Local $selectText = $selection.toString()
If Not $selectText Then Exit MsgBox(0, 0, -1)
ConsoleWrite('Выделен фрагмент: ' & $selectText & @CRLF)

Local $oDispHTMLDOMRange = $selection.getRangeAt(0)
If Not IsObj($oDispHTMLDOMRange) Then Exit MsgBox(0, 0, -3)

Local $oIHTMLRect = $oDispHTMLDOMRange.getBoundingClientRect()
If Not IsObj($oIHTMLRect) Then Exit MsgBox(0, 0, -4)

Local $tPoint = DllStructCreate("int X;int Y")
DllStructSetData($tPoint, "X", $oIHTMLRect.left)
DllStructSetData($tPoint, "Y", $oIHTMLRect.top)

Local $hCtrl = ControlGetHandle(HWnd($oIe.hwnd), '', '[CLASS:Internet Explorer_Server; INSTANCE:1]')
DllCall("user32.dll", "bool", "ClientToScreen", "hwnd", $hCtrl, "struct*", $tPoint)

WinActivate(HWnd($oIe.hwnd))
MouseMove(DllStructGetData($tPoint, "X"), DllStructGetData($tPoint, "Y"))
 
Автор
E

enivor

Новичок
Сообщения
4
Репутация
0
Огромное спасибо, inververs, все работает замечательно! Напишите пожалуйста в личку куда и сколько слать благодарности)


Добавлено:
Сообщение автоматически объединено:

Если не сложно, то почему скрипт не хочет работать в мобильной версии сайта m.avito.ru ? В обычной все замечательно.
 
Автор
E

enivor

Новичок
Сообщения
4
Репутация
0
Хм, значит я что-то делаю не так, пардон :smile:
 
Верх