Powershell: Открыть Chrome -> Отправить текстовое сообщение из Messages.Google.Com на мобильный телефон - PullRequest
0 голосов
/ 29 января 2020

Так что вот сделка. У меня есть скрипт, который запускается, как только адаптер A C отключается, и когда это происходит, я также хочу, чтобы скрипт отправлял мне текстовое сообщение через messages.google.com.

Я довольно новичок в PS, и я полностью потерян, когда дело доходит до HTML, поэтому я не уверен, что я должен искать на сайте.

$url = "https://messages.google.com/web/conversations"
try {
  $chrome = (Get-ItemProperty "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe").'(Default)'
  Start-Process "$chrome" $url
}

catch {
Start-Process $url
Start-sleep -Seconds 5

($chrome.document.getElementsByClassName("fab-link mat-button mat-button-base") | select -first 1).click() 
Start-Sleep -Seconds 5

($chrome.document.getElementsByClassName("input") | select -first 1).value = "95******"
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")
Start-Sleep -Seconds 5

($chrome.document.getElementByClassName("input-row") | select -first 1).value = "HS3 har mistet strøm"
Start-Sleep -Seconds 5

($chrome.document.getElementByClassName("send-info ng-star-inserted") | select -first 1).click()
Start-Sleep -Seconds 5 

Stop-Process -Name chrome
}

Here the script needs to press Start Chat (Start en chat)

Here the script needs to enter the phonenumber followed by enter

Script needs to paste inn message here

And here the script just needs to press the send button / SMS button

Понятия не имею как это сделать, надеюсь, кто-нибудь там может помочь, заранее спасибо :)

1 Ответ

0 голосов
/ 31 января 2020

Try & catch не имеет большого смысла, если вы используете их таким образом. Вы можете использовать это для обработки («поймать») сообщений об ошибках -> см. О Try Catch Наконец .

Если бы я был вами, я бы go сделал простой способ и отправил бы себе электронную почту. вместо почты.

[System.Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$username = "sender@gmail.com"
$password = ConvertTo-SecureString "yourPasswordHere" -AsPlainText -Force
$creds = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$From = "sender@gmail.com"
$To = "recipient@gmail.com"
#$Cc = "YourBoss@YourDomain.com"
$Attachment = "C:\test\test.txt"
$Subject = "Test"
$Body = "To Whom It May Concern,`n`nthe bike is on fire,`nyou're on fire,`neverything is on fire,`nand you're in hell.`n`nRegards, YourSysAdmin"
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential $creds -Attachments $Attachment

См .: PowerShell: отправка электронной почты с помощью Send-MailMessage (пример Gmail)

Но вам придется отключить Менее безопасное приложение заблокирован в Gmail.

Если вы действительно действительно хотите вместо этого отправлять текстовые сообщения, я бы посоветовал вам либо

  • получить коммерческое приложение, которое отправит вам смс

или

  • . Вы можете узнать, как отправлять сообщения, например в Google Hangouts с XMPP

или

  • используйте Pidgin и напишите некоторый код для удаленной отправки сообщений. Существует плагин под названием purple-remote, который вы можете использовать.

Если вы все еще хотите go для метода, которым вы взаимодействуете с Chrome, вы можете использовать Selenium как показано здесь: PowerShell & Selenium: автоматизация взаимодействия с веб-браузером - часть I

...