<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Автоматизация действий в браузере на сервере]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16738&amp;type=atom" />
	<updated>2021-11-27T17:59:16Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=16738</id>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150802#p150802" />
			<content type="html"><![CDATA[<p>Все заработало, как хотел. Всем большущее спасибо за помощь. <img src="//forum.script-coding.com/img/smilies/cool.png" width="15" height="15" /><br />Теперь прога крутится на серваке и по заданию из планировщика качает файл остатков на складе!</p>]]></content>
			<author>
				<name><![CDATA[Ander]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42151</uri>
			</author>
			<updated>2021-11-27T17:59:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150802#p150802</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150799#p150799" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ander пишет:</cite><blockquote><p>Объясните пожалуйста, почему это выражение не работает:</p></blockquote></div><p>Возможно баг. Посылайте так:<br /></p><div class="codebox"><pre><code>PageInst.Call(&quot;Input.dispatchKeyEvent&quot; , { type: &quot;char&quot;, text: &quot;`r&quot; }, 0)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2021-11-27T16:46:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150799#p150799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150798#p150798" />
			<content type="html"><![CDATA[<p>Не знаю, просто эмуляция клавиш не всегда срабатывает.<br />Вместо <em>PageInst.Call(&quot;Runtime.evaluate&quot;, ...)</em> проще использовать вышеуказанный <em>PageInst.Evaluate(js)</em>.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-11-27T15:55:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150798#p150798</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150797#p150797" />
			<content type="html"><![CDATA[<p>Спасибо за подсказку, сработало так</p><div class="codebox"><pre><code>PageInst.Call(&quot;Runtime.evaluate&quot; , { expression: &quot;document.querySelector(&#039;button.btn&#039;).click();&quot;})</code></pre></div><p>Объясните пожалуйста, почему это выражение не работает:</p><div class="codebox"><pre><code>PageInst.Call(&quot;Input.dispatchKeyEvent&quot; , { type: &quot;keyDown&quot; , key: &quot;Enter&quot;}, 0)</code></pre></div><p>После ввода логина и пароля, если нажать Enter - должно заходить на сайт.</p>]]></content>
			<author>
				<name><![CDATA[Ander]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42151</uri>
			</author>
			<updated>2021-11-27T15:42:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150797#p150797</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150796#p150796" />
			<content type="html"><![CDATA[<p>А чего гадать-то? Открываете инструменты разработчика, вкладка «Элементы», находите кнопку, видите:<br /> <br /> <span class="postimg"><img src="https://i.imgur.com/wWo9Kto.png" alt="https://i.imgur.com/wWo9Kto.png" /></span><br /> <br />Откуда у вас взялось <em>#button.btn</em>? Знак # означает селектор id, здесь его нет. Селектор тега записывается без всяких префиксов, просто <em>button</em>. Селектор класса правильно записан через точку. Можно ещё дописать атрибут:<br /></p><div class="codebox"><pre><code>document.querySelector(&#039;button.btn[type=&quot;submit&quot;]&#039;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-11-27T14:52:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150796#p150796</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150794#p150794" />
			<content type="html"><![CDATA[<p>user_email.form-input и user_password.form-input отрабатывают хорошо, button.btn - брал там же. Подскажите пожалуйста какой тогда селектор? submit - пробовал, не работает.</p>]]></content>
			<author>
				<name><![CDATA[Ander]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42151</uri>
			</author>
			<updated>2021-11-27T14:28:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150794#p150794</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150793#p150793" />
			<content type="html"><![CDATA[<p>Если пытаетесь кликнуть кнопку «Вхiд», то указан неверный селектор.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-11-27T11:50:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150793#p150793</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150792#p150792" />
			<content type="html"><![CDATA[<p>Для начала, тестируйте джаваскрипт не в AHK-скрипте, а непосредственно в консоли инструментов разработчика браузера.<br />В Chrome.ahk есть метод PageInst.Evaluate(&quot;<em>your script is here</em>&quot;).</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-11-27T11:46:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150792#p150792</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150791#p150791" />
			<content type="html"><![CDATA[<p>Начал изучать chrome.ahk<br />Написал простенькую прогу, входа на сайт<br /></p><div class="codebox"><pre><code>#Include Chrome.ahk
ChromeInst := new Chrome(,, &quot;--incognito&quot;) ; ,, &quot;--headless&quot;) ;Запускаем окно браузера в режиме инкогнито
PageInst := ChromeInst.GetPage()
PageInst.Call(&quot;Page.navigate&quot;, {&quot;url&quot;: &quot;https://site.com/login&quot;})
PageInst.WaitForLoad()
PageInst.Call(&quot;Runtime.evaluate&quot; , { expression: &quot;document.querySelector(&#039;#user_email.form-input&#039;).value = &#039;LOGIN&#039;;&quot;})
PageInst.Call(&quot;Runtime.evaluate&quot; , { expression: &quot;document.querySelector(&#039;#user_password.form-input&#039;).value = &#039;PASSWORD&#039;;&quot;})
;PageInst.Call(&quot;Runtime.evaluate&quot; , { expression: &quot;document.querySelector(&#039;#button.btn&#039;).submit();&quot;}) ; не нажимает кнопку
;PageInst.Call(&quot;Input.dispatchKeyEvent&quot; , { type: &quot;keyDown&quot; , key: &quot;Enter&quot;}, 0) ; не нажимает кнопку
PageInst.Call(&quot;Runtime.evaluate&quot; , { expression: &quot;document.querySelector(&#039;#button.btn&#039;).click();&quot;}) ; не нажимает кнопку
PageInst.WaitForLoad()


; Execute some JavaScript
PageInst.Evaluate(&quot;alert(&#039;Waiting&#039;);&quot;)

PageInst.Call(&quot;Browser.close&quot;)
PageInst.Disconnect()

ExitApp
return</code></pre></div><p>Перебрал три варианта нажатия на кнопку - ни один не работает. Подскажите пожалуйста как нажать кнопку входа.</p>]]></content>
			<author>
				<name><![CDATA[Ander]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42151</uri>
			</author>
			<updated>2021-11-27T11:24:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150791#p150791</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150786#p150786" />
			<content type="html"><![CDATA[<p>Толку ее постить, если в ней просто эмуляция нажатия нужных клавиш через SendKeys и это не работает, когда отключен GUI. Ищется другой метод рализации.</p>]]></content>
			<author>
				<name><![CDATA[Ander]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42151</uri>
			</author>
			<updated>2021-11-26T21:55:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150786#p150786</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150784#p150784" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ander пишет:</cite><blockquote><p>Сразу была написана программа на VBS</p></blockquote></div><p>Содержимое которой мы должны угадать?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2021-11-26T18:38:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150784#p150784</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150775#p150775" />
			<content type="html"><![CDATA[<p><strong>Ander</strong><br /><a href="https://www.selenium.dev/documentation/webdriver/">Selenium WebDriver</a><br /><a href="https://www.autohotkey.com/boards/viewtopic.php?f=6&amp;t=42890">Chrome.ahk</a></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-11-26T12:32:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150775#p150775</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150774#p150774" />
			<content type="html"><![CDATA[<p>Делать, чтоб постоянно работал GUI - это как-то неправильно выглядит, похоже на костыли <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> (это последний вариант). Может есть какие-то методы управления браузером не эмуляцией ввода пользователем, а например через API или еще как-то програмно?</p>]]></content>
			<author>
				<name><![CDATA[Ander]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42151</uri>
			</author>
			<updated>2021-11-26T07:11:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150774#p150774</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150756#p150756" />
			<content type="html"><![CDATA[<p>Посмотрите <a href="https://qna.habr.com/q/893367">https://qna.habr.com/q/893367</a>.<br />Поможет - расскажите.</p>]]></content>
			<author>
				<name><![CDATA[Мальчик-гей]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30832</uri>
			</author>
			<updated>2021-11-25T09:21:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150756#p150756</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Автоматизация действий в браузере на сервере]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150686#p150686" />
			<content type="html"><![CDATA[<p>Здравствуйте форумчане!<br />Неделю бьюсь с проблемой автоматизации входа на сайт и скачивания файла. Сразу была написана программа на VBS - все работает, пока сидишь в терминальном сеансе. Стоит пустить все на самотек, отключаешься от сеанса, либо запускаешь скрипт входа локального пользователя BAT-файл </p><div class="codebox"><pre><code>tscon 1 /dest:console
rundll32.exe user32.dll, LockWorkStation</code></pre></div><p>. Как все - не работает правильно. Алгоритм программы следующий: запускается браузер в режиме инкогнито, заходит на сайт, вводит логин и пароль, переходит по ссылке скачки файла, закрывает браузер. При отключении терминального сеанса не передаются в браузер нажатия клавиш (ввод логина, пароля, закрытие ALT+F4). Сервер работает на Windows 2008 R2.<br />Попытка №2 было использование AutoHotkey. Написана программа, которая делает тоже самое. Сконвертировал в EXE-файл. Пока подключен - все работает. Запускаю автоматом (со скрипта, с планировщика, просто ставлю паузу в программе отключаюсь от сеанса) не эмулируется нажатие клавиш. Браузер запускается и на этом все. <br />Подскажите пожалуйста как решить эту задачу.</p>]]></content>
			<author>
				<name><![CDATA[Ander]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42151</uri>
			</author>
			<updated>2021-11-21T13:14:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150686#p150686</id>
		</entry>
</feed>
