Что нового

Нестабильная работа CTRL+V

joker2d

Новичок
Сообщения
182
Репутация
0
Иногда чтобы вставить текст из буфера обмена я получаю просто букву v

увеличил задержки
Код:
Opt("SendKeyDelay", 50)
Opt("SendKeyDownDelay", 50)


но это не особо помогло, что еще можно сделать ?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186

vovsla

Осваивающий
Сообщения
607
Репутация
36
Хорошо бы знать полную картину, может можно обойтись функциями ClipGet и ControlSetText
 
Автор
J

joker2d

Новичок
Сообщения
182
Репутация
0
alex33
На компе где работает бот только одна раскладка английская, так что проблема не в этом

Vovsla
текст печатаю в браузере
вот так не работает, то есть ничего не пишет, хотя функция возвращает 1, то есть как написано в справке значит успех
Код:
ControlSetText($hWnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "test")


а вот так работает
Код:
ControlSend($hWnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "test")

но когда много текста, то печатает медленно и бывают ошибки, поэтому и использую CTRL+V для вставки из буфера
 
Автор
J

joker2d

Новичок
Сообщения
182
Репутация
0
alex33
Хотелось бы это использовать, но AutoIt нестабильно работает с этими функциям в IE11 на английском форуме подтвердили что это баг AutoIt'а и его возможно когда то исправят, поэтому использую Control
 

vovsla

Осваивающий
Сообщения
607
Репутация
36
Можно попробовать через Javascript, только я с ним толком не разобрался, поэтому нормального примера привести не смогу

Вот так можно получить значение элементов со страницы, и аналогичным образом можно задавать значения, например $IEObject.checked=True

Код:
#include <IE.au3>

Local $oIE = _IECreate("http://autoit-script.ru/")
Local $oElements = _IETagNameAllGetCollection($oIE)
For $oElement In $oElements
	If $oElement.id Then MsgBox(0, "Element Info", "Tagname: " & $oElement.tagname & @CRLF & "id: " & $oElement.id & @CRLF & "innerText: " & $oElement.innerText)
Next

_IEQuit($oIE)
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
$oElement = _IEGetObjById($oIE, "search_form")
MsgBox(0, "info", $oElement.outerHTML)
 

qqww22

Новичок
Сообщения
115
Репутация
4
Вот стабильное решение.
Код:
#include <WindowsConstants.au3>
 #include <SendMessage.au3>
 _SendMessage(ControlGetHandle("", "", ""), $WM_PASTE)
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
qqww22
стабильное решение
При внимательном просмотре темы видно, что joker2d использует IE, в котором данная конструкция не работает.
 
Верх