dt_automate/method/hw_fw1.go

121 lines
4.5 KiB
Go
Raw Normal View History

2025-02-19 18:30:19 +08:00
package method
import (
"dt_automate/tool"
"log"
"github.com/playwright-community/playwright-go"
)
func HW_FW1() {
// 启动 Playwright
pw, err := playwright.Run()
if err != nil {
log.Fatalf("could not start Playwright: %v", err)
}
defer pw.Stop()
// 启动浏览器Chromium
browser, err := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{
Headless: playwright.Bool(false), // 设置为 false 以显示浏览器界面
Args: []string{
"--ignore-certificate-errors", // 忽略证书错误[^28^][^29^]
},
})
if err != nil {
log.Fatalf("could not launch browser: %v", err)
}
defer browser.Close()
// 创建一个新页面
page, err := browser.NewPage()
if err != nil {
log.Fatalf("could not create page: %v", err)
}
// 设置浏览器窗口大小
err = page.SetViewportSize(1920, 1080) // 宽度为 1200px高度为 800px
if err != nil {
log.Fatalf("无法设置浏览器窗口大小: %v", err)
}
// 导航到指定网址
2025-02-27 18:37:03 +08:00
_, err = page.Goto("https://11.2.68.146/", playwright.PageGotoOptions{WaitUntil: playwright.WaitUntilStateDomcontentloaded})
2025-02-19 18:30:19 +08:00
if err != nil {
log.Fatalf("could not go to the page: %v", err)
}
2025-02-26 18:58:43 +08:00
page.WaitForTimeout(3000)
2025-02-19 18:30:19 +08:00
//输入
2025-03-11 16:04:26 +08:00
if err := page.Locator(`#user_name`).Fill(tool.KeyStr("Y1fK+gTcxy+3fnbL3XBH5416Z0UoeWMcPXkZjL2B1wu9eEmrS8yLybLUoCZWIUSPaWP/FV8IWWX4tOv+4TkPH9My+CsN1QGxVrMYG/+C2uGQrj5zVbGqWaNUkJhYmtGCvvEmEX9fdIMM+uzl21eEjXJCgudL5WXFwEJTzerxitHqAOI9jLsT5M84ajAFLCjVpKHRiplN93qtB8z2hLDxaYqRhXPW2hntmv1iE6xA9sRIWWJ6BCB8uzCWM1UhwRx36MCnFNZcB7gaAh827S5P0SGstCqu2PTjChbe0Ti1w59iR+t7BkoeyFdE/9XLtJLB6UPwW4rTTDiE/Ffyyd6IJA==")); err != nil {
2025-02-19 18:30:19 +08:00
log.Fatalf("could not fill input: %v", err)
}
2025-03-11 16:04:26 +08:00
if err := page.Locator(`#password`).Fill(tool.KeyStr("1xyi36noaSo8ujj4VM4gjVRwu1tb/yffyz+6DV1n3m2xSPaPtq0LfsrTSo1X2ZCrNgJy2+PKeRU88386n1uaN63hXd7Ezn6l0LQzQH+etFB8f7Z3l3yf6o3qjvHFdQx4sSzx7/HtOlsdh7hasm62fBEeXr7wdceRAz62B2TwXA/U+d6NXbudPOcoukETgyzGAdPBcfU0m9y7RMH3rQNWc3LjJfhBe5Ihpsy/HefKLMnAAtCFQoLBBWzgiKyI6zsQgSH2mXbiK4GWasXyNxJvwKyY1cB+tbMbYooU1n2u1zz8GxQ4LunLCabkh0irVdsYfrtt/xhgjTCdc+GaI5BBaw==")); err != nil {
2025-02-19 18:30:19 +08:00
log.Fatalf("could not fill input: %v", err)
}
//登录
if err := page.Locator("#login_button").Click(); err != nil {
log.Fatalf("could not click button: %v", err)
}
page.WaitForTimeout(1000)
page.Evaluate(`
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
const timestamp = year+"-"+month+"-"+day +" "+ hours+":"+minutes+":"+seconds;
const div = document.createElement('div');
div.style.position = 'fixed';
div.style.bottom = '10px';
div.style.right = '10px';
div.style.color = 'white';
div.style.backgroundColor = 'black';
div.style.padding = '5px';
div.style.borderRadius = '5px';
div.textContent = timestamp;
document.body.appendChild(div);
`, nil)
page.Locator(`#leftmenu-body tr[data-recordid="M_ThreatLog"] div.x-grid-cell-inner.x-grid-cell-inner-treecolumn a.x-tree-node-text`).Click()
2025-02-27 18:37:03 +08:00
page.WaitForTimeout(2000)
2025-03-14 18:20:23 +08:00
page.Locator(`#button-1174-btnEl`).Click()
page.WaitForTimeout(1000)
2025-02-19 18:30:19 +08:00
page.Locator(`#combobox-1302-bodyEl #combobox-1302-inputEl`).Click()
2025-02-25 18:36:33 +08:00
page.WaitForTimeout(1000)
page.Locator(`#boundlist-1330-listEl li[title="Untrust"]`).Click()
2025-02-19 18:30:19 +08:00
page.WaitForTimeout(500)
page.Locator(`#combobox-1303-bodyEl #combobox-1303-inputEl`).Click()
page.WaitForTimeout(500)
page.Locator(`#boundlist-1335-listEl li[title="Trust"]`).Click()
page.WaitForTimeout(500)
page.Locator(`#button-1322-btnIconEl`).Click()
page.WaitForTimeout(1000)
// page.Screenshot(playwright.PageScreenshotOptions{
// Path: playwright.String("img/hw_fw1.png"),
// FullPage: playwright.Bool(true),
// })
tool.Jietu("img/hw_fw1.png")
page.WaitForTimeout(2000)
// 获取页面标题
title, err := page.Title()
if err != nil {
log.Fatalf("could not get title: %v", err)
}
log.Printf("Page title is: %s\n", title)
2025-03-11 15:07:17 +08:00
// cookies, err := page.Context().Cookies("https://11.2.68.146/wnm/get.j")
// if err != nil {
// log.Println(err)
// }
// var cookieStr string
// for i, cookie := range cookies {
// cookieStr += fmt.Sprintf("%s=%s;", cookie.Name, cookie.Value)
// log.Printf("Cookie %d: %+v", i, cookie)
// }
// log.Println(cookieStr)
2025-02-27 18:37:03 +08:00
// attackevent.Fw_event(cookieStr)
2025-03-11 15:07:17 +08:00
// conf.SET_Config_yaml("cookie", cookieStr) //临时存放数据
2025-02-19 18:30:19 +08:00
// StartBlocker()
page.WaitForTimeout(5000)
}