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