Add files via upload
This commit is contained in:
parent
5912397353
commit
f570d75443
1 changed files with 53 additions and 3 deletions
56
posh.txt
56
posh.txt
|
|
@ -19,6 +19,7 @@ PowerShell Commands
|
||||||
- Veeam
|
- Veeam
|
||||||
- REST API
|
- REST API
|
||||||
- IE
|
- IE
|
||||||
|
- Selenium
|
||||||
- Console API
|
- Console API
|
||||||
- XML
|
- XML
|
||||||
- Excel
|
- Excel
|
||||||
|
|
@ -452,9 +453,6 @@ $obj += [PSCustomObject]@{Time = $temp_fw.TimeCreated; Type = $type; Port = $por
|
||||||
|
|
||||||
# Application
|
# Application
|
||||||
|
|
||||||
### Get-Package
|
|
||||||
Get-Package -ProviderName msi,Programs # список установленных программ
|
|
||||||
|
|
||||||
### Local User and Group
|
### Local User and Group
|
||||||
Get-LocalUser # список пользователей
|
Get-LocalUser # список пользователей
|
||||||
Get-LocalGroup # список групп
|
Get-LocalGroup # список групп
|
||||||
|
|
@ -1153,6 +1151,7 @@ Start-DfsrPropagationTest # создает тестовый файл распр
|
||||||
|
|
||||||
# PackageManagement
|
# PackageManagement
|
||||||
|
|
||||||
|
Get-Package -ProviderName msi,Programs # список установленных программ
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # включить использование протокол TLS 1.2 (если не отключены протоколы TLS 1.0 и 1.1)
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # включить использование протокол TLS 1.2 (если не отключены протоколы TLS 1.0 и 1.1)
|
||||||
Find-PackageProvider # поиск провайдеров
|
Find-PackageProvider # поиск провайдеров
|
||||||
Install-PackageProvider PSGallery -force # установить источник
|
Install-PackageProvider PSGallery -force # установить источник
|
||||||
|
|
@ -1751,6 +1750,57 @@ $Button_Auth.Click()
|
||||||
$Result = $ie.Document.documentElement.innerHTML
|
$Result = $ie.Document.documentElement.innerHTML
|
||||||
$ie.Quit()
|
$ie.Quit()
|
||||||
|
|
||||||
|
# Selenium
|
||||||
|
|
||||||
|
.\nuget.exe install Selenium.WebDriver
|
||||||
|
Copy-Item -Path .\WebDriver.dll -Destination $home\Documents\Selenium\ # версия 4.9.0 для .NET 4.8
|
||||||
|
|
||||||
|
Choco Upgrade GoogleChrome # обновить Google Chrome
|
||||||
|
Get-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome" | select DisplayName,DisplayVersion,InstallDate,InstallLocation # узнать версию и дату обновления
|
||||||
|
Copy-Item -Path .\ChromeDriver.exe -Destination $home\Documents\Selenium\ # скачать драйвер (113.0.5672.63) https://sites.google.com/chromium.org/driver/
|
||||||
|
|
||||||
|
$path = "$env:temp\ChromeSetup.exe"
|
||||||
|
Invoke-WebRequest 'https://dl.google.com/chrome/install/latest/chrome_installer.exe' -OutFile $path
|
||||||
|
Start-Process -FilePath $path -Args "/silent /install" -NoNewWindow -Wait
|
||||||
|
|
||||||
|
$selenium.FindElements([OpenQA.Selenium.By]::CssSelector('button')) | select TagName,Text # отобразить все Button по TagName используя CSS selector
|
||||||
|
$selenium.FindElements([OpenQA.Selenium.By]::TagName('button')) # поиск по TagName
|
||||||
|
$selenium.FindElements([OpenQA.Selenium.By]::CssSelector('button')) | ? Text -match "Войти" # поиск Button по содержимому Text
|
||||||
|
$button = $selenium.FindElements([OpenQA.Selenium.By]::CssSelector('*')) | ? Text -like "Войти через Яндекс ID" # поиск во всех элементах по содержимому Text для получения нужного элемента (SPAN) для дальнейшего быстрого поиска
|
||||||
|
F12 (Dev Tools) - Ctrl+Shift+C - Copy selector/full XPath
|
||||||
|
$inputbox = $selenium.FindElements([OpenQA.Selenium.By]::CssSelector('#passp-field-login'))
|
||||||
|
$inputbox = $selenium.FindElements([OpenQA.Selenium.By]::XPath("/html/body/div/div/div[2]/div[2]/div/div/div[2]/div[3]/div/div/div/div/form/div/div[2]/div[2]/div/div[2]/span/input"))
|
||||||
|
$inputbox | gm -MemberType method
|
||||||
|
|
||||||
|
$path = "$home\Documents\Selenium"
|
||||||
|
if (($env:Path -split ';') -notcontains $path) {
|
||||||
|
$env:Path += ";$path"
|
||||||
|
}
|
||||||
|
Import-Module "$path\WebDriver.dll"
|
||||||
|
$selenium_options = New-Object OpenQA.Selenium.Chrome.ChromeOptions
|
||||||
|
$selenium_options.AddArgument('start-maximized')
|
||||||
|
$selenium_options.AcceptInsecureCertificates = $True
|
||||||
|
$selenium = New-Object OpenQA.Selenium.Chrome.ChromeDriver($selenium_options)
|
||||||
|
# $selenium = New-Object OpenQA.Selenium.Chrome.ChromeDriver
|
||||||
|
$selenium.Navigate().GoToURL('https://yandex.ru')
|
||||||
|
$selenium.FindElements([OpenQA.Selenium.By]::CssSelector('button'))[2].Click() # нажать на кнопку "Войти"
|
||||||
|
$button = $selenium.FindElements([OpenQA.Selenium.By]::CssSelector('SPAN')) | ? Text -like "Войти через Яндекс ID"
|
||||||
|
$button.Click()
|
||||||
|
($selenium.FindElements([OpenQA.Selenium.By]::CssSelector('Button')))[1].Click()
|
||||||
|
$inputbox = $selenium.FindElements([OpenQA.Selenium.By]::CssSelector('input')) | ? ComputedAccessibleRole -like "textbox"
|
||||||
|
$inputbox.Click()
|
||||||
|
$inputbox.Clear()
|
||||||
|
$inputbox.SendKeys("+79997772211")
|
||||||
|
$inputbox.Submit()
|
||||||
|
$selenium.Close()
|
||||||
|
$selenium.Quit()
|
||||||
|
|
||||||
|
### Convert Screenshot Base64 to Image
|
||||||
|
|
||||||
|
$Base64img = (($selenium.FindElements([OpenQA.Selenium.By]::CssSelector('#root > div > div.passp-page > div.passp-flex-wrapper > div > div > div.passp-auth-content > div.Header > div > a')))).GetScreenshot()
|
||||||
|
$Image = [Drawing.Bitmap]::FromStream([IO.MemoryStream][Convert]::FromBase64String($Base64img))
|
||||||
|
$Image.Save("$home\Desktop\YaLogo.jpg")
|
||||||
|
|
||||||
# Console API
|
# Console API
|
||||||
|
|
||||||
[Console] | Get-Member -Static
|
[Console] | Get-Member -Static
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue