1 (изменено: serzh82saratov, 2018-01-08 12:08:56)

Тема: AHK: Internet Explorer Platform APIs

Просвятите по использованию справки, вот есть Diagnostics Object Model, а как получить объект?
Хочется метод clearAllCookies.


oIe := ComObjCreate("InternetExplorer.Application")
oIe.Visible := true
oIe.***.clearAllCookies()
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

2 (изменено: Malcev, 2018-01-08 12:34:38)

Re: AHK: Internet Explorer Platform APIs

Там написано, что

These APIs can only be used with F12 developer tools and the Diagnostics Script Engine, and can't be called from JavaScript.

Так что, наверное, только через Visual Studio или его аналог получится.
Я раньше так стирал:

ClearTracks(sCmd) 
{
	ValidCmd 	:=  {Files		:8		; Clear Temporary Internet Files
			    ,Cookies		:2		; Clear Cookies
			    ,History		:1		; Clear History
			    ,Forms		:16		; Clear Form Data
			    ,Passwords		:32		; Clear Passwords
			    ,All		:255		; Clear all
			    ,All2		:4351}		; Clear All and Also delete files and settings stored by add-ons

	If (ValidCmd.haskey(sCmd))
	{
		iCmd := ValidCmd[sCmd] ; Get the integer value
		VarSetCapacity(wCmd,15,0)
		DllCall("MultiByteToWideChar", "Uint", 0, "Uint", 0, "str", iCmd, "int", -1, "str", wCmd, "int", 8)
		DllCall("inetcpl.cpl\ClearMyTracksByProcessW", "Uint", 0, "Uint", 0, "str", wCmd, "int", 0)
	}
	Else
		MsgBox % "Invalid Command -" sCmd "-"
	return ErrorLevel
}

3

Re: AHK: Internet Explorer Platform APIs

Malcev пишет:

Я раньше так стирал:

Это видел, но ничего не чистит.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

4

Re: AHK: Internet Explorer Platform APIs

А так?

Run RunDll32.exe InetCpl.cpl`,ClearMyTracksByProcess 4351

5

Re: AHK: Internet Explorer Platform APIs

Так то да, только слишком глобально, хотелось бы только куки.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

6 (изменено: Malcev, 2018-01-08 13:00:40)

Re: AHK: Internet Explorer Platform APIs

// This magic value is the combination of the following bitflags:
// #define CLEAR_HISTORY         0x0001 // Clears history
// #define CLEAR_COOKIES         0x0002 // Clears cookies
// #define CLEAR_CACHE           0x0004 // Clears Temporary Internet Files folder
// #define CLEAR_CACHE_ALL       0x0008 // Clears offline favorites and download history
// #define CLEAR_FORM_DATA       0x0010 // Clears saved form data for form auto-fill-in
// #define CLEAR_PASSWORDS       0x0020 // Clears passwords saved for websites
// #define CLEAR_PHISHING_FILTER 0x0040 // Clears phishing filter data
// #define CLEAR_RECOVERY_DATA   0x0080 // Clears webpage recovery data
// #define CLEAR_PRIVACY_ADVISOR 0x0800 // Clears tracking data
// #define CLEAR_SHOW_NO_GUI     0x0100 // Do not show a GUI when running the cache clearing
//
// Bitflags available but not used in this magic value are as follows:
// #define CLEAR_USE_NO_THREAD      0x0200 // Do not use multithreading for deletion
// #define CLEAR_PRIVATE_CACHE      0x0400 // Valid only when browser is in private browsing mode
// #define CLEAR_DELETE_ALL         0x1000 // Deletes data stored by add-ons
// #define CLEAR_PRESERVE_FAVORITES 0x2000 // Preserves cached data for "favorite" websites
#define CLEAR_CACHE_OPTIONS 0x09FF

// Delete only download history   
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16384

7

Re: AHK: Internet Explorer Platform APIs

О, работает.
Не знаешь как в приватном режиме запускать?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

8

Re: AHK: Internet Explorer Platform APIs

Можно через коммандную строку запускать с атрибутом -private и потом получать объект.
Можно реестр изменять каждый раз когда в приватном режиме запустить хочешь.
А напрямую, вроде, метода нету.

9

Re: AHK: Internet Explorer Platform APIs

С реестром норм, только я не нашёл рабочий вариант.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

10

Re: AHK: Internet Explorer Platform APIs

Я тоже.
Остается, похоже, только с атрибутом -private запускать.

11

Re: AHK: Internet Explorer Platform APIs

Угу, и -Embedding чтоб не мелькало. Только как потом точно определить окно.
Я придумал только добавлять свой параметр, и искать процесс по CommandLine.
Через Run PID и цепочку дочерних процессов у меня не получилось.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

12

Re: AHK: Internet Explorer Platform APIs

А зачем тебе нужен private?
Если не хочешь оставлять о себе информацию, то всё-равно определят по фингерпринту.

13

Re: AHK: Internet Explorer Platform APIs

Чтобы не чистить куки и историю.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

14

Re: AHK: Internet Explorer Platform APIs

А зачем их чистить?

15 (изменено: serzh82saratov, 2018-01-08 17:46:42)

Re: AHK: Internet Explorer Platform APIs

Да зачем они нужны.

Кстати не знаешь как отправлять нажатия клавиш в элементы?
Я такие примеры видел, но что то не заводятся.


	pEvent := oIE.document.CreateEventObject()
    pEvent.keyCode := 0x20  ; VK_Space 
	El.FireEvent("onkeypress", pEvent)
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

16 (изменено: Malcev, 2018-01-08 18:03:12)

Re: AHK: Internet Explorer Platform APIs

teadrinker, как-то, выкладывал:

IE := ComObjCreate("InternetExplorer.Application")
IE.Visible := True
IE.Navigate("https://autohotkey.com/search/")
while IE.busy
   continue
oDoc := IE.document
input := oDoc.GetElementByID("gsc-i-id1")
input.value := "SetTimer"
input.focus()
event := oDoc.createEvent("KeyboardEvent")
event.initKeyboardEvent("keydown", true, true, oDoc.parentWindow, "Enter", 0, "", false, "en-US")
input.dispatchEvent(event)

FireEvent не поддерживается в IE11 (заменили на dispatchEvent).
По мне так чистить куки и историю бесполезное занятие - приватности это не добавит, кстати в navigate можно отправлять чтобы не сохранялось в историю.
Ну и можно поставить галочку, чтобы при выходе из IE всё подчищалось, если хочется скрыть посещаемые сайты от других пользователей.

17 (изменено: serzh82saratov, 2018-01-08 18:03:34)

Re: AHK: Internet Explorer Platform APIs

Спасибо, но как то не до конца работает, например если в чате Enter отправляет сообщение, то так он просто активирует поле. В Selenium sendKeys отправляет, и focus необязателен.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

18

Re: AHK: Internet Explorer Platform APIs

Ну тут уже пример нужен, чтобы посмотреть.

19

Re: AHK: Internet Explorer Platform APIs

В гугле работает, тут придётся немного подождать загрузки.


oIe := ComObjCreate("InternetExplorer.Application")
oIE.Silent := 1
oIe.Visible := 1
oIE.Navigate("https://join.skype.com/m9y6rpxqvIet")

MsgBox Нажми присоединится - введи любое имя - дождись пока прогрузится чат - нажми ок


input := oIE.document.querySelector("#chatInputAreaWithQuotes")
input.value := "/get uri"

input.focus()
event := oIE.document.createEvent("KeyboardEvent")
event.initKeyboardEvent("keydown", true, true, oIE.document.parentWindow, "Enter", 0, "", false, "en-US") 
input.dispatchEvent(event) 
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

20

Re: AHK: Internet Explorer Platform APIs

А где тогда не до конца работает?

21

Re: AHK: Internet Explorer Platform APIs

Так я же код привёл.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

22

Re: AHK: Internet Explorer Platform APIs

А зачем там отправлять с помощью event?
Там же простой Click на кнопку отправки работает.

23

Re: AHK: Internet Explorer Platform APIs

Просто чтобы понимать почему так.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).

24

Re: AHK: Internet Explorer Platform APIs

Может защита какая стоит.
У меня там на мышь события тоже не вешаются.

25

Re: AHK: Internet Explorer Platform APIs

Любит этот скайп что нибудь отрезать.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.27.03 (Unicode 32-bit).