如何用PowerShell点击pwpush.com提交按钮推送密码并获取链接?
用PowerShell搞定pwpush.com密码推送的小技巧
嘿,我来帮你解决这个问题!其实不用费劲模拟点击提交按钮——pwpush本身提供了官方API,用PowerShell直接调用API既简单又稳定,比模拟浏览器操作靠谱多了。当然如果你非要模拟点击,我也给你准备了方案~
推荐方案:调用官方API
这是最省心的方式,不用管页面结构变化,直接和后端接口交互就行。话不多说,上代码:
# 配置密码参数:内容、过期规则都可以自定义 $passwordInfo = @{ password = @{ payload = "这里填你要推送的密码" expire_after_days = 7 # 设置7天后自动过期 expire_after_views = 3 # 被查看3次后失效 deletable_by_viewer = $true # 允许查看的人手动删除密码 } } | ConvertTo-Json # 发送请求到pwpush的API $apiResponse = Invoke-RestMethod -Uri "https://pwpush.com/p.json" -Method Post -Body $passwordInfo -ContentType "application/json" # 拼接出可分享的密码链接 $shareUrl = "https://pwpush.com/p/$($apiResponse.url_token)" Write-Host "搞定!你的密码分享链接:$shareUrl"
你可以根据自己的需求调整参数,比如把expire_after_days改成0表示永不过期(不过不建议),或者调整查看次数限制。
备选方案:模拟浏览器点击提交(不推荐)
如果你非要模拟手动点击提交按钮的操作,就得用Selenium来控制浏览器。这个方法缺点是页面元素一旦改版,代码就会失效,而且需要额外安装工具:
- 先安装Selenium PowerShell模块:
Install-Module -Name Selenium -Scope CurrentUser
- 下载对应浏览器的驱动(比如ChromeDriver),把它放到系统PATH能找到的文件夹里。
- 运行下面的代码:
# 导入Selenium模块 Import-Module Selenium # 启动Chrome浏览器 $browser = Start-SeChrome # 打开pwpush的首页 $browser.Navigate().GoToUrl("https://pwpush.com/") # 找到密码输入框并输入内容 $passwordBox = $browser.FindElementById("password_payload") $passwordBox.SendKeys("你的秘密密码") # (可选)设置过期天数,比如改成7天 $expireInput = $browser.FindElementById("password_expire_after_days") $expireInput.Clear() $expireInput.SendKeys("7") # 找到提交按钮并点击 $submitBtn = $browser.FindElementByCssSelector("button[type='submit']") $submitBtn.Click() # 等页面跳转后获取链接 Start-Sleep -Seconds 2 $shareUrl = $browser.Url Write-Host "密码分享链接:$shareUrl" # 关闭浏览器 $browser.Quit()
还是那句话,这个方法不如API稳定,优先选第一个方案哦~
内容的提问来源于stack exchange,提问作者Kamil Procyszyn
相关产品推荐
相关产品推荐

