1
Общие вопросы / Re: Запустить браузер с конкретным профилем
« on: February 08, 2021, 11:51:43 AM »
Понятно, спасибо за информацию, проблема была, в моём случае, именно а кавычках.
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
EXECUTE("chrome.exe","--profile-directory="Default"", "https://google.com")
Иногда приходится сравнивать md5 хеши строк, ели вылетает ошибка при сравнении.Понятно, спасибо, а то я через strfilter() стал символ " ' " вырезать.Code: (clickermann) [Select]STRMD5($DanSetName[$b]) = STRMD5($DanInvName[$i])
FOR($b=0,$b<arrsize($DanSetName))
FOR($i=0,$i<arrsize($DanInvName))
IF($DanSetName[$b] = $DanInvName[$i])
Если совпадения найдены, делаем, то что надо
END_IF
END_CYC
END_CYC
Вот вариант копирования текста из браузера посредством JavaScript (тестовый файл во вложении).Спасибо за решение, для себя уже сделал нечто подобное, тоже кнопки для браузера.
Запускаем файл в браузере и нажимаем на кнопку с черепом)). Выделенный желтым текст скопируется в буфер обмена. JS скрипт можно написать проще, есть вариант более новый, но ему мешают браузерные ограничения безопасности. Этот скрипт работает в свернутом браузере и выполняет условие, при котором в процессе копирования требуется участие пользователя. А также не требует протокола https.
Для сайтов в интернете потребуется установить в браузер плагин "Custom Style Script" и скопировать в него скрипт и стили для кнопки. Ну и естественно прописать правильный селектор для выбора целевого текста.
Ты же можешь передать свои куки в хэдере. Неудобно, да, но чем это отличается от запросов когда уже авторизован.Наверное разница в том, что эти все моменты нужно изучать, как передать куки, где их взять и т.д.
P.S. у меня хэдер не передаётся.
Возможно дело в версии, у меня просто 4.13x32 та, что с главной страницы, но это не важно т.к. считывать код надо со страницы которая под паролем, да ещё авторизация через фейсбук, в общем геморой один в моём случае, а мне нужно всего лишь выделить текст...Хм....Интересно.
Но опять же, хочу я посмотреть код этой самой темы, адрес её http://crapware.aidf.org/forum/index.php?topic=5511.0
Делаю код, программа вылетает.Code: [Select]$HTML = HTTPGET ("http://crapware.aidf.org/forum/index.php?topic=5270.msg34403#msg34403")
LOGWRITE ($HTML)
Halt
Помню, тоже не мог получить код страницы форума. Без параметров GET - всё работало, как добавлял параметры - вылет.
Вот ты снова напомнил, решил попробовать. Прям скопировал твой код и... всё работает, html в логе. На версии 4.13.14x32.
Вспомнил, что добавлял библиотеки для ssl, убрал, всё равно работает. Странно.
Попробовал на 4.14.003 - задумывается на 3-4 секунды и выдаёт в лог китайский язык вот кусочекQuote慴屢慴屢慴㬢≳猫牣敥楷瑤⭨⨢⬢捳敲湥栮楥桧⨢⬢猨牣敥潣潬䑲灥桴尿慰൲尊慴屢慴屢慴捳敲湥挮汯牯敄瑰㩨捳敲湥瀮硩汥敄瑰⥨⬩㬢≵攫捳灡⡥潤畣敭瑮售䱒⬩灜牡瑜扡瑜扡瑜扡∠∻䴫瑡慲摮浯⤨尫慰൲尊慴屢慴屢慴✢愠瑬✽‧楴汴㵥䰧癩䥥瑮牥敮㩴尠攧屦攧履攧屡攧尰攧尷攧尰攧層攧❜㝦❜㡥❜ㅦ❜扥❜敥尠攧屦攧履昧就攧尵昧尲攧尸昧尲攧尵攧屢攧尵攧‹❜㝥❜づ⬢灜牡瑜扡瑜扡瑜扡∠尠昧就攧尵攧尳攧履攧尴攧層昧❦∠尫慰൲尊慴屢慴屢慴戢牯敤㵲‰楷瑤㵨㠸栠楥桧㵴㔱㰾愯∾⼩㸭⼼捳楲瑰㰾ⴡ⼭楌敶湉整湲瑥ⴭ尾慴屢慴屢慴屢慰൲尊慴屢慴⼼汵尾慰൲尊慴⼼楤㹶⼼楤㹶灜牡⼼楤㹶灜牡⼼潢祤㰾栯浴㹬灜牡灜牡
А если речь идет именно о коде страницы, то почему бы не использовать HTTPGET (url, [headers, ...] ) . Подробнее в справке. Если страница защищена https, то и тут есть выход - http://crapware.aidf.org/forum/index.php?topic=356.msg26057#msg26057Хм....Интересно.
$HTML = HTTPGET ("http://crapware.aidf.org/forum/index.php?topic=5270.msg34403#msg34403")
LOGWRITE ($HTML)
Halt
HTTPGET
Функция. Возвращает результат web-запроса.
Синтаксис
HTTPGET (url, [headers, ...] )
Параметры
url - запрос
headers - дополнительные заголовки запроса
Пример
// код вернет последную опубликованную версию Clickermann (можете проверить в браузере)
$str = httpget("http://crapware.aidf.org/version/clickermann.php")
// тот же запрос, но с добавленным заголовком Referrer
$str = httpget("http://crapware.aidf.org/version/clickermann.php", "Referrer: http://crapware.aidf.org")
print($str)
Примечания
Функция запрашивает данные по протоколу HTTP. Следовательно пока удаленный сервер не ответит (или не истечет таймаут), функция не завершится.
Так же функция может использоваться для отправки командных запросов (запросов с параметрами) удаленному серверу (запросы типа http://somegame.ru/index.php?act=go_to_work&player_id=12345). В любом случае, даже если возвращаемая строка не важна, функция должна вызываться как функция (см. пример)
А ctrl+A ?А сочетания клавиш работаю в режиме привязки или postmessage?
Может прокатит полумера: двойной клик выделяет слово, тройной - всю строку.Нужно выделить весь текст, в частности код страницы, не прокатит.
Посылка комбинации: Alt+F5, Shift+F1, Ctrl+ на игрушке не проверял, за не нужностью.Хотя нет, видимо ошибся я, не работает это всё с браузерами...
Ругается на postmessage($_hwnd, 0x0105,0x56,0xC02F0001), ошибка при интерпретации строки, так же когда сам нажимаю там стоит 0x0101 а не 0x0105.Code: (clickermann) [Select]postmessage($_hwnd, 0x0100,#CTRL,#lpCTRL) //Ctrl нажать
postmessage($_hwnd, 0x0100,0x56,0x2F0001) //v нажать
postmessage($_hwnd, 0x0105,0x56,0xC02F0001) //v отпустить
postmessage($_hwnd, 0x0101,#CTRL,#lp_CTRL) //Ctrl отпустить
postmessage($_hwnd, 0x0100,0x11,0x001D0001) //WM_KEYDOWN
postmessage($_hwnd, 0x0100,0x56,0x002F0001) //WM_KEYDOWN
postmessage($_hwnd, 0x0102,0x16,0x002F0001) //WM_CHAR
postmessage($_hwnd, 0x0101,0x56,0xC02F0001) //WM_KEUP
postmessage($_hwnd, 0x0101,0x11,0xC01D0001) //WM_KEUP
#lpA1 0x56
#lpA2 0x2F0001
#lpA3 0xC02F0001
postmessage($hwnd, 0x0100,#CTRL,#lpCTRL) //Ctrl нажать
postmessage($hwnd, 0x0100,#lpA1,#lpA2) //v нажать
postmessage($hwnd, 0x0105,#lpA1,#lpA3) //v отпустить
postmessage($hwnd, 0x0101,#CTRL,#lp_CTRL) //Ctrl отпустить
То вставляться из буфера ничего не будет, будет писаться V, словно сочетания не видно. postmessage($_hwnd, 0x0100,#SHIFT,#lpSHIFT) //shift нажать
postmessage($_hwnd, 0x0100,#F1,#lpF1) //F1 нажать
waitms(RND(160,180))
postmessage($_hwnd, 0x0101,#F1,#lp_F1) //F1 отпустить
postmessage($_hwnd, 0x0101,#SHIFT,#lp_SHIFT) //shift отпустить
waitms(RND(160,180))
Заменить вот на это: postmessage($_hwnd, 0x0100,#SHIFT,#lpSHIFT) //shift нажать
postmessage($_hwnd, 0x0100,#F7,#lpF7) //F7 нажать
waitms(RND(160,180))
postmessage($_hwnd, 0x0101,#F7,#lp_F7) //F7 отпустить
postmessage($_hwnd, 0x0101,#SHIFT,#lp_SHIFT) //shift отпустить
waitms(RND(160,180))
То работать так же не будет...
Понятно, спасибо за ответ, это я сообщение видел, думал есть уже готовые данные.Code: (clickermann) [Select]postmessage($_hwnd, 0x0100,#CTRL,#lpCTRL) //Ctrl нажать
postmessage($_hwnd, 0x0100,0x56,0x2F0001) //v нажать
postmessage($_hwnd, 0x0105,0x56,0xC02F0001) //v отпустить
postmessage($_hwnd, 0x0101,#CTRL,#lp_CTRL) //Ctrl отпустить
В проге Microsoft Spy++ 11 можно коды посмотреть:
В разделе SPY выставляешь что смотреть (окна, процессы, потоки). Смотрим процессы. Правой кнопкой мыши выбираешь процесс. Нажимаешь Message, получаешь лог сообщений. В опциях лога выбираешь какие сообщения тебе нужны(клава, мышь и тд). Переходишь в изучаемый процесс. Жмешь клавиши. В логе все сообщения получаемые процессом отражаются. На каждое сообщение можно посмотреть properties.
Для примера. Фильтр сообщений - Клава. Нажал F2.
В логе 2 сообщения:
Нажал F2
(Хендл окна. Сообщение 0100(не системно нажал). wParam(код F2). lParam(003C0001))
Отпустил F2
(Хендл окна. Сообщение 0101(не системно отпустил). wParam(код F2). lParam(C03C0001))