这个需要搭配支持的浏览器才行、如果用插件、或者js方式模拟、特别容易被识别、效果不好。
可以参考原项目:https://github.com/musiclover789/luna
的浏览器支持,然后他内置了函数支持
SimulateMouseClickOnPage(targetX, targetY)
只需输入坐标点即可、
还支持输入截图即可,均可以自行找到对应位置。
if err == nil && ok {
fmt.Println("说明、页面已经成功打开")
//time.Sleep(time.Hour)
err, imageCoordinates := itemPage.SimilarityWithMargin("home.png", 50, 200, 10, 10, time.Minute)
if err == nil && imageCoordinates.MatchScore > 0.5 {
targetX, targetY := imageCoordinates.RandomX, imageCoordinates.RandomY
itemPage.SimulateMouseMoveOnPage(luna_utils.RandomInRange(-1, devtools.BrowserGlobal.ScreenAvailWidth), -1, targetX, targetY)
itemPage.SimulateMouseClickOnPage(targetX, targetY)
itemPage.SimulateKeyboardInputOnPage("随便")
//点击按钮
err, imageCoordinates := itemPage.ImageSimilarity("button_01.png", time.Minute)
if err == nil && imageCoordinates.MatchScore > 0.5 {
itemPage.SimulateMouseMoveOnPage(targetX, targetY, imageCoordinates.RandomX, imageCoordinates.RandomY)
itemPage.SimulateMouseClickOnPage(imageCoordinates.RandomX, imageCoordinates.RandomY)
}
time.Sleep(5 * time.Second)
//滚动到页面底部
fmt.Println("~~~~~~~~~~>==============<~~~~~~~~~~~~~~")
err, ok := itemPage.ScrollToTargetImagePosition(imageCoordinates.RandomX, imageCoordinates.RandomY, input.DOWN, "bottom.png", 0.5, time.Minute)
fmt.Println(ok, err)
itemPage.Close()
browserObj.Close()
}
}