Что нового

Обновление курсора

mir546

Новичок
Сообщения
27
Репутация
0
Всем привет
У меня трабл, прошу помощи

Ситуация такая:
Скролится у меня страница, курсор находится неподвижно.
После каждого скрола под курсором находится ссылка
Но она не попадает в строку состояния.
Нужно как-то обновлять курсор.

Знаю что "обновляется" если сдвигать через MouseMove()
Есть какое-нибудь решение кроме MouseMove()?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
mir546
Название раздела "Автоматизация IE и Web-интерфейса"!
У IE есть объект автоматизации (OLE/COM).
Причём тут топорный метод работы с IE через MouseMove()

Если у вас есть наработки, выкладывайте.
Если нужно сделать за вас - "Стол заказов"
 
Автор
M

mir546

Новичок
Сообщения
27
Репутация
0
Garrett сказал(а):
mir546
Название раздела "Автоматизация IE и Web-интерфейса"!
У IE есть объект автоматизации (OLE/COM).
Причём тут топорный метод работы с IE через MouseMove()

Если у вас есть наработки, выкладывайте.
Если нужно сделать за вас - "Стол заказов"

это мой топорный метод:
Код:
;Ввод координаты 1 
MsgBox(64 + 4096, 'Калибровка 1', 'Наведите курсор на 1 букву имини первого человека в списке найденных и зажмите "F".'& @CR & @CR&' Для продолжения нажмите "Enter"')
While Not _IsPressed("46")  ;F
   Sleep(250)
WEnd
$onePeople1 = MouseGetPos()

;Ввод координаты 2 
MsgBox(64 + 4096, 'Калибровка 2', 'Наведите курсор на 4 букву имини первого человека в списке найденных и зажмите "F".'& @CR & @CR &' Для продолжения нажмите "Enter"')
While Not _IsPressed("46")  ;F
   Sleep(250)
WEnd
$onePeople2 = MouseGetPos()

;задача координат
$curosY12=($onePeople1[1]+$onePeople2[1])/2
$curosX=$onePeople1[0]
MouseMove($onePeople1[0]-10, $curosY12, 0)
$aa=0

Local $scriptArray[0] ;создание массива под текст скрипта
$cursorZnak='+1'
$oInputs = _IETagNameGetCollection($oIE, 'div') ; коллекция тегов див
MsgBox(4+32+8192+262144, 'Подтверждение ','')
BlockInput(1)
For $oInput In $oInputs
    If StringInStr($oInput.attributes.getNamedItem('class' ).nodeValue, 'labeled name') Then ;отсеивание тегов по параметру
$oInput.scrollIntoView()
$curosX=$curosX+$cursorZnak
MouseMove($curosX, $curosY12, 0)

If $curosX=575 Then $cursorZnak='-1'
If $curosX=553 Then $cursorZnak='+1'

$urltext = _IEPropertyGet($oIE, "statustext") ;извлечение ссылки
$textMarket='(Текст ссылки)' ;Текст ссылки
if $urltext='' Then ContinueLoop ;пропускать "пустые" сслыки
$scriptStr=StringRegExpReplace ($urltext, '.*vk\.com/(\w+).*', '$1') ;форматирование и создание строки скрипта

if $aa=100 Then ExitLoop

_ArrayAdd($scriptArray, $scriptStr) ;заполнение массива строками скрипта
    EndIf
 Next
 BlockInput(0)
_ArrayToClip($scriptArray,@CRLF)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
mir546
Дайте ссылку на сайт и опишите что вы хотите получить.
Код:
$oInputs = _IETagNameGetCollection($oIE, 'div') ; коллекция тегов див

Откуда вы получаете коллекцию тегов, если вы даже не подключаете библиотеку IE.au3?
Код:
_IEPropertyGet($oIE, "statustext") ;извлечение ссылки

...?
 
Автор
M

mir546

Новичок
Сообщения
27
Репутация
0
Сайт vk.com. Библиотека подключается.

А вообще воспользовался советом Garrett: "У IE есть объект автоматизации (OLE/COM)."
Погуглил... и изменил свой концепт изъятия ссылок.
Был через строку.. Теперь через наиболее удобный тег

Код:
Local $scriptArray[0] ;создание массива под текст скрипта
$oButtons = _IETagNameGetCollection($oIE, 'button') ; коллекция тегов buttons

For $oButton In $oButtons
    If StringInStr($oButton.attributes.getNamedItem('id' ).nodeValue, 'search_unsub') Then ;отсеивание тегов по параметру
	  $urltext = $oButton.id ;извлечение ссылки
	  $scriptStr=StringRegExpReplace ($urltext, 'search_unsub','') ;форматирование и создание строки скрипта
	  _ArrayAdd($scriptArray, $scriptStr) ;заполнение массива строками скрипта
    EndIf
 Next
 
Верх