Запуск двух вкладок Microsoft Edge рядом друг с другом с помощью PowerShell

Запуск двух вкладок Microsoft Edge рядом друг с другом с помощью PowerShell
Запуск двух вкладок Microsoft Edge рядом друг с другом с помощью PowerShell - stekata_g @ Unsplash

Запуск двух вкладок Microsoft Edge рядом друг с другом с помощью PowerShell — скрипт для запуска двух экземпляров браузера Microsoft Edge и изменения размеров окон в соответствии с заданными параметрами. В этой статье мы рассмотрим, как использовать PowerShell для запуска нескольких экземпляров Microsoft Edge в режиме параллельной работы и изменения расположения окон.

Проблема с запуском скрипта

Предположим, что у вас есть следующий скрипт PowerShell для запуска двух вкладок Microsoft Edge и изменения размеров окон:


$EdgePath = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"

$Tab1URL = "https://www.example1.com"
$Tab2URL = "https://www.example2.com"

$Edge1 = Start-Process -FilePath $EdgePath -ArgumentList $Tab1URL -PassThru
$Edge2 = Start-Process -FilePath $EdgePath -ArgumentList $Tab2URL -PassThru

$Edge1.WaitForInputIdle()
$Edge2.WaitForInputIdle()

$HWND1 = $Edge1.MainWindowHandle
$HWND2 = $Edge2.MainWindowHandle

$Rect1 = New-Object -TypeName System.Drawing.Rectangle -ArgumentList 0, 0, 800, 600
$Rect2 = New-Object -TypeName System.Drawing.Rectangle -ArgumentList 800, 0, 800, 600

[Microsoft.VisualBasic.Interaction]::AppActivate($HWND1)
[System.Threading.Thread]::Sleep(500)
[System.Windows.Forms.SendKeys]::SendWait("% ")
[System.Windows.Forms.SendKeys]::SendWait("{LEFT}")
[System.Windows.Forms.SendKeys]::SendWait("% ")

[Microsoft.VisualBasic.Interaction]::AppActivate($HWND2)
[System.Threading.Thread]::Sleep(500)
[System.Windows.Forms.SendKeys]::SendWait("% ")
[System.Windows.Forms.SendKeys]::SendWait("{RIGHT}")
[System.Windows.Forms.SendKeys]::SendWait("% ")

Однако при выполнении скрипта что-то пошло не так и вкладки не открылись рядом друг с другом.

Отсутствие ошибок

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

Чтобы выяснить, почему скрипт не работает, можно начать с отладки и добавления вывода отладочной информации. В этом случае есть возможность проследить, что происходит на каждом шаге выполнения скрипта. Добавление вывода важных переменных, таких как пути к исполняемому файлу Microsoft Edge и URL-адреса вкладок, поможет в идентификации возможных проблем.

Пример:


    Write-Host "Edge Path: $EdgePath"
    Write-Host "Tab 1 URL: $Tab1URL"
    Write-Host "Tab 2 URL: $Tab2URL"
  

Таким образом, вы сможете убедиться, что значения переменных заданы правильно и скрипт использует ожидаемый путь к исполняемому файлу Microsoft Edge. Если значения переменных некорректны, скрипт не сможет правильно запускать вкладки.

Однако, если значения переменных корректны и скрипт все еще не работает, проблема может быть связана с использованием несовместимых методов управления окнами Microsoft Edge. В этом случае, возможно, потребуется редактирование скрипта и анализ документации Microsoft Edge WebDriver для более точного управления окнами браузера.

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

Заключение

Запуск двух вкладок Microsoft Edge рядом друг с другом с помощью PowerShell может быть полезным во многих сценариях, включая отладку различных веб-сайтов или тестирование компонентов приложений.

Если вам нужно запустить два экземпляра Microsoft Edge параллельно и настроить их окна, рассмотрите возможность использования PowerShell. Однако, помните, что проблемы с неработающим скриптом могут быть связаны с ошибками, которые не являются очевидными. Добавление отладочного вывода и анализ документации помогут вам идентифицировать и решить проблемы, связанные с запуском скрипта и управлением окнами браузера.


NevaDev, 20 августа 2023 г., 07:45