Автоматическое обновление резюме на PowerShell
Делать было нечего, на то он и отпуск. В итоге, немного подумав и потратив 20 минут вышло на свет вот такое чудо. Возможно кому то оно пригодиться, ну если нет — так нет.
Вышло всего два скрипта, первый самый первый и простой. Он позволяет производить обновление резюме только когда человек вошел на сайт.
Если на первый скрипт было потрачено 20 минут, то второй отнял час. Возможно ничего в нем нет сложного и написать возможно его проще. Если есть идеи как укоротить или написать проще, то буду рад советам и критике.
Второй же скрипт более автоматический, проще говоря указываем логин, пароль и ссылку на резюме и он сам все делает.
SuperJob-Update-Rezume.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# Скрипт для автоматического обновления резюме на сайте superjob.ru # Версия - 1.0 # Автор - kanitelka # Сайт - flammlin.com # Перед запуском скрипта в работу требуется открыть InternetExplorer # зайти на сайт superjob.ru и произвести вход в личный кабинет # после можно смело уже запускать. Скрипт сам войти в личный кабинет # не может, функционал простой. Так же не забывайте указывать верный # адрес резюме которое требуется обновлять. #Ссылка на резюме которое требуется обновлять $url = "ссылка на резюме" $ie = New-Object -comobject InternetExplorer.Application $ie.visible = $true $ie.silent = $true #Можно добавить модуль WASP тогда он позволит делать окно активным #Import-Module WASP #$ie = Select-Window IEXPLORE | Set-WindowActive $ie.Navigate( $url ) while( $ie.busy){Start-Sleep 1} $secLink = $ie.Document.getElementsByTagName('A') | Where-Object {$_.innerText -eq 'обновить дату публикации'} $secLink.click() #Обновили резюме и ждем Start-Sleep 30 #Убиваем процесс InternetExplorer Get-Process -Name iexplore* | Stop-Process |
Второй скрипт.
SuperJob-Update-Rezume-2.0.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# Скрипт для автоматического обновления резюме на сайте superjob.ru # Версия - 2.0 # Автор - kanitelka # Сайт - flammlin.com # Скрипт работает в автоматическом режиме. Необходимо только ввести # свой логин и пароль, а так же указать верный адрес резюме. # Данные для заполнения # $urlrezume - ссылка на резюме # $login - логин от сайта # $pass - пароль от сайта # Работа происходит в браузере InternetExplorer, который во время работы # открывается на полный экран. По времени выполнения операций по обновлению # занимает около 3 минут максимум. Если выходят ошибки и результата нет, то требуется # увеличить задержки с 100 до 200 к примеру. #Адрес сайта superjob $url = "https://www.superjob.ru/" #Ссылка на резюме которое требуется обновлять $urlrezume = "ссылка на резюме" #Ссылка на выход с сайта $urlexit = "https://www.superjob.ru/user/logout" #Логин от сайта $login = "логин от сайта" #Пароль $pass = "пароль от сайта" #Сам скрипт $ie = New-Object -comobject InternetExplorer.Application $ie.visible = $true $ie.silent = $true $ie.FullScreen = $true #возможно лишнее, но так мне понравилось больше $ie.Navigate( $url ) while($ie.Busy) { Start-Sleep -Milliseconds 100 } #100 миллисекунд равно 0.1 секунда $secLink = $ie.Document.getElementsByTagName('A') | Where-Object {$_.innerText -eq 'Вход и регистрация'} $secLink.click() $doc = $ie.Document Start-Sleep -Milliseconds 100 # Заполняем поле - Имя пользователя $doc.getElementsByName("LoginForm_login") | % {$_.Value = $login} # Заполняем поле - Пароль $doc.getElementsByName("LoginForm_password") | % {$_.Value = $pass} Start-Sleep -Milliseconds 100 # Находим кнопку войти и нажимаем ее $ie.Document.Forms | %{$_.getElementsByClassName("sj_block m_t_2 sj_btn m_blue m_stretch js-submit-btn")} | % {$_.Click()} # Заходим на страницу с резюме и обновляем дату публикации $ie.Navigate( $urlrezume ) while( $ie.busy){Start-Sleep 1} $secLink = $ie.Document.getElementsByTagName('A') | Where-Object {$_.innerText -eq 'обновить дату публикации'} $secLink.click() #Обновили резюме и ждем Start-Sleep 30 #Производим выход с сайта $ie.Navigate( $urlexit ) while($ie.Busy) { Start-Sleep -Milliseconds 100 } #Убиваем процесс InternetExplorer Get-Process -Name iexplore* | Stop-Process |