Update README.md
This commit is contained in:
parent
d673fa782f
commit
5912397353
1 changed files with 53 additions and 3 deletions
56
README.md
56
README.md
|
|
@ -19,6 +19,7 @@
|
|||
- [Veeam](#Veeam)
|
||||
- [REST API](#REST-API)
|
||||
- [IE](#IE)
|
||||
- [Selenium](#Selenium)
|
||||
- [Console API](#Console-API)
|
||||
- [XML](#XML)
|
||||
- [Excel](#Excel)
|
||||
|
|
@ -452,9 +453,6 @@ Get-Log 100 -2
|
|||
|
||||
# Application
|
||||
|
||||
### Get-Package
|
||||
`Get-Package -ProviderName msi,Programs` список установленных программ
|
||||
|
||||
### Local User and Group
|
||||
`Get-LocalUser` список пользователей \
|
||||
`Get-LocalGroup` список групп \
|
||||
|
|
@ -1153,6 +1151,7 @@ Error: 1722 - сервер rpc недоступен (ошибка отката
|
|||
|
||||
# PackageManagement
|
||||
|
||||
`Get-Package -ProviderName msi,Programs` список установленных программ
|
||||
`[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12` включить использование протокол TLS 1.2 (если не отключены протоколы TLS 1.0 и 1.1) \
|
||||
`Find-PackageProvider` поиск провайдеров \
|
||||
`Install-PackageProvider PSGallery -force` установить источник \
|
||||
|
|
@ -1751,6 +1750,57 @@ $Button_Auth.Click()
|
|||
$Result = $ie.Document.documentElement.innerHTML
|
||||
$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] | Get-Member -Static` \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue