1 (изменено: Gh0sTG0, 2018-11-26 19:45:56)

Тема: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

Добрый вечер. Вопрос на стыке ahk и хромовской консоли. Может я слепой, но так и не нашел вменяемых безЧСВшных объяснений в интернете, которые бы заработали из ahk под chrome.ahk.

Как сделать реакцию = клику средней кнопкой мыши по ссылке? Т.е. открыть ссылку в новой фоновой вкладке?

PageInst := Chrome.GetPage(1)
numEl := PageInst.Evaluate("document.getElementsByClassName('thumb').length;").Value
Loop %numEl%
{
	lnk := PageInst.Evaluate("document.getElementsByClassName('thumb')[" . A_Index - 1 . "].href;")
	[по идее я получил ссылку на страницу куда надо идти. если вместо href делать click() он откроет все подряд в той же вкладке...]
}

Либо скажите, "это невозможно" и я пойду дальше юзать свой тупой костыльный цикл.

	for index, element in elL
	{
		Sleep 300
		Send ^t
		Sleep 500
		Clipboard := element
		Sleep 200
		Send ^v
		Sleep 200
		Send {Enter}
	}

2

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

А зачем нужно именно эмулировать нажатие средней кнопкой? Просто откройте новую вкладку с нужным url.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Gh0sTG0, 2018-11-26 19:47:22)

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

teadrinker
Переделал в другой вариант, вроде работает.

urlList		:= ""
for index, value in elL
	urlList	.= ((A_Index = 1) ? "" : " ") . value

Run, % "chrome.exe " urlList

Вроде получилось неплохо, они открываются.
Опять сработала магическая штука "напиши на script-coding и найдешь ответ, даже если тебе его не напишут прямо, ты все равно его в ближайшее время нагуглишь". Спасибо.

4

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

Gh0sTG0, проставьте недостающие точки в сообщениях!
http://forum.script-coding.com/viewtopi … 59#p130059
http://forum.script-coding.com/viewtopi … 56#p130056
http://forum.script-coding.com/viewtopi … 63#p129763
http://forum.script-coding.com/viewtopi … 23#p129623
http://forum.script-coding.com/viewtopi … 64#p129464
http://forum.script-coding.com/viewtopi … 62#p129462
http://forum.script-coding.com/viewtopi … 59#p129459
http://forum.script-coding.com/viewtopi … 85#p129285
http://forum.script-coding.com/viewtopi … 82#p129282
http://forum.script-coding.com/viewtopi … 40#p129240

5

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

Gh0sTG0, вкладки можно задать сразу при создании объекта. Если нужно новую открыть позже, тоже делается через объект, как исправитесь, могу подсказать.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6 (изменено: Gh0sTG0, 2018-11-26 19:54:53)

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

ypppu
Вроде все поправил.

7

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

teadrinker
В смысле? Не очень понял что вы имеете ввиду. Можно как то вставить задержку между созданием вкладок не запихивая в цикл run chrome.exe с каждой ссылкой и слипом??

8

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

#Persistent
profile := A_Temp
arrUrls := ["http://forum.script-coding.com/", "https://autohotkey.com/boards/index.php"]
oChrome := new Chrome(profile, arrUrls)
oPage := oChrome.GetActivePage()
MsgBox, Сейчас откроем новую страницу
oPage.Call("Target.createTarget", {url: "http://forum.script-coding.com/misc.php?action=rules"})
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9 (изменено: Gh0sTG0, 2018-11-26 20:11:33)

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

teadrinker, Но созданная вкладка становится активной. Т.е. потом придется любым удобным методом все равно искать ту, с которой начинал.
Но все равно спасибо, приемчик запомню, вроде уже знаю где он может пригодиться.

10

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

Активировать можно любую вкладку по её ID:

#Persistent
profile := A_Temp
arrUrls := ["http://forum.script-coding.com/", "https://autohotkey.com/boards/index.php"]
oChrome := new Chrome(profile, arrUrls)
oPage := oChrome.GetActivePage()
id := oChrome.GetPageList()[1].id

MsgBox, Сейчас откроем новую страницу
oPage.Call("Target.createTarget", {url: "http://forum.script-coding.com/misc.php?action=rules"})
oPage.Call("Target.activateTarget", {targetId: id})
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: chrome.ahk как имитировать клик средней мышкой по ссылке?

teadrinker
А вот за это еще больше спасибо.
Ушел переделывать некоторые свои скрипты.