Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Симптом

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

Обычно происходит сбой с таким сообщением, как "Возникла проблема при выполнении действия "Щелкнуть". Не удалось щелкнуть ссылку на веб-странице".

Причина

Типичные сбои при автоматических запусках вызваны одним из следующих:

  • Скрипт не протестирован в режиме с участием перед переходом на автоматическую проверку

  • Другая конфигурация, используемая автоматическим сеансом

    • Учетная запись Windows, используемая автоматическим запуском, отличается от учетной записи Windows, используемой для создания потока.

    • Разрешение экрана (см . инструкции по изменению разрешения экрана)

    • Конфигурация браузера

      • Пользователя

      • Блокировка всплывающих окон

      • Расширения (отсутствуют или не активированы)

  • Экраны не загружаются полностью (отсутствуют задержки)

  • Запрос UAC, который блокирует автоматизацию пользовательского интерфейса при начале сеанса.

Решение

Так как могут быть различные причины, в приведенном ниже решении описывается, как добавлять снимки экрана до и после неудачного действия, чтобы получить некоторые визуальные отзывы. Внимательное просмотре снимков экрана после сбоя автоматического скрипта может помочь найти одну из причин, перечисленных выше. В ней также описывается сравнение параметров разрешения и масштабирования дисплея.

Если у вас уже есть снимки экрана в потоке и они не выполняются, возможно, у вас есть диалоговое окно контроля учетных записей (UAC), блокирующее выполнение потока. Войдите на компьютер, который воспроизводит проблему с учетной записью, которую вы используете для выполнения потока, и проверьте, есть ли у вас такое диалоговое окно блокировки. В этом случае измените подпрограмму запуска, чтобы предотвратить это.

Добавление снимков экрана для устранения неполадок

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

Если нет ничего, что блокировало бы автоматизацию пользовательского интерфейса, сделайте снимок экрана до и после шага сбоя в автоматическом режиме, чтобы получить визуальную обратную связь.

Неудающийся шаг должен продолжаться при сбое, чтобы можно было сделать снимок экрана после сбоя.

1. Найдите действие "Сделать снимок экрана"

Действие "Сделать снимок экрана"

 2. Перетащите действие "Сделать снимок экрана" на сторону сценария.

Перетащите действие "Сделать снимок экрана"

3. Измените действие, используйте "Файл" вместо буфера обмена, а "до" в расположении имени файла Заполнение свойств действия "Сделать снимок экрана"

4. Затем скопируйте или вставьте и измените имя файла снимка экрана с помощью команды after в нем Дублирование и заполнение свойств действия создания снимка экрана

5. Заключите сбойный шаг с помощью снимков экрана

Заключите неудачные шаги с помощью снимков экрана

6. Изменение поведения onError шага, завершающегося сбоем

6a. Измените шаг и щелкните onError в нижней части экрана.

Изменение поведения при ошибке

6b. Задайте для выполнения потока значение "Продолжить выполнение потока" и "Перейти к следующему действию".

Продолжить выполнение потока и перейти к следующему действию

7. Сохраните, запустите локально , чтобы проверить, созданы ли снимки экрана, и повторно запустите автоматическое выполнение.

8. Проверьте файлы автоматического снимка экрана. 

Проверка разрешения экрана и различий в масштабировании

Чтобы сравнить параметры разрешения между выполняемыми и автоматическими выполнениями, добавьте следующие действия в скрипт перед выполнением в обоих режимах:

  • Скопируйте или вставьте приведенный ниже фрагмент кода в конструкторе PAD. При этом будут созданы необходимые действия для записи параметров разрешения и вывода их в файл с меткой времени.

DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: CurrentDateTime CustomFormat: $'''yyyy_MM_dd_hh_mm_ss''' Result=> FormattedDateTime
Workstation.GetScreenResolution MonitorNumber: 1 MonitorWidth=> MonitorWidth MonitorHeight=> MonitorHeight MonitorBitCount=> MonitorBitCount MonitorFrequency=> MonitorFrequency
@@copilotGeneratedAction: 'False'
Scripting.RunPowershellScript.RunPowershellScript Script: $'''Add-Type @\'
using System; 
using System.Runtime.InteropServices;
using System.Drawing;
public class DPI {  
  [DllImport(\"gdi32.dll\")]
  static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
  public enum DeviceCap {
  VERTRES = 10,
  DESKTOPVERTRES = 117
  }
  public static float scaling() {
  Graphics g = Graphics.FromHwnd(IntPtr.Zero);
  IntPtr desktop = g.GetHdc();
  int LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
  int PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);
  return (float)PhysicalScreenHeight / (float)LogicalScreenHeight;
  }
}
\'@ -ReferencedAssemblies \'System.Drawing.dll\' -ErrorAction Stop
Return [DPI]::scaling() * 100''' ScriptOutput=> MonitorScaleOutput
File.WriteText File: $'''c:\\test\\resolution_%FormattedDateTime%.txt''' TextToWrite: $'''height: %MonitorHeight% width: %MonitorWidth% frequency: %MonitorFrequency% bitCount: %MonitorBitCount% scale: %MonitorScaleOutput%''' AppendNewLine: True IfFileExists: File.IfFileExists.Overwrite Encoding: File.FileEncoding.Unicode
  • Просмотрите путь к выходному файлу из последнего действия, проверка, что локальное выполнение выполнено успешно, и сохраните его.

  • Запустите скрипт как в ранее, так и в автоматическом режиме, а затем проверка, имеют ли выходные данные разрешения и масштабирования одинаковые значения в обоих режимах.

Примечание

Как упоминалось выше, если само действие снимка экрана завершается сбоем, может возникнуть диалоговое окно контроля учетных записей (UAC), блокирующее выполнение потока. Войдите на компьютер, который воспроизводит проблему с учетной записью, которую вы используете для выполнения потока, и проверьте, есть ли у вас такое диалоговое окно блокировки. В этом случае измените подпрограмму запуска, чтобы предотвратить это.

Если скрипт содержит другие шаги, он может завершиться ошибкой после изменения поведения, чтобы не вызывать ошибок, чтобы можно было сделать снимок экрана. Поэтому ошибки после второго снимка экрана следует игнорировать. 

После того как проблема будет понята и устранена, восстановите исходное поведение потока, чтобы вызвать ошибки.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×