rod helper added

This commit is contained in:
hysn99
2024-03-30 15:35:53 +03:00
parent 4053d951bf
commit 56fbba2ab7
5 changed files with 104 additions and 0 deletions

25
app/lib/bot/rodhelper.go Normal file
View File

@@ -0,0 +1,25 @@
package bot
import (
"time"
"github.com/go-rod/rod"
)
type Select struct {
Element *rod.Element
Selector string
}
func (elemSelector *Select) SelectItem(changeValue string) error {
_, err := elemSelector.Element.Evaluate(rod.Eval(`document.querySelector("` + elemSelector.Selector + `").value = "` + changeValue + `";`))
_, err = elemSelector.Element.Evaluate(rod.Eval(`document.querySelector("` + elemSelector.Selector + `").dispatchEvent(new Event('change'));`))
return err
}
func WaitLoad(frm *rod.Page) error { // belli bir süre redirect ten önceki js fonksiyonunun tamamlanması bekleniyor
wait := frm.WaitRequestIdle(50*time.Millisecond, nil, nil, nil)
wait()
err := frm.WaitLoad()
return err
}

View File

@@ -0,0 +1,12 @@
{
"type": "service_account",
"project_id": "readpdf-247814",
"private_key_id": "75de5191c0835028caf9413f8023f26e353064f8",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDJ0D23gU4luBgN\nRUmhL9h1qaBqNcv5KGPYUjDcdCGTixea8nOkOxZwYLmKU3VpEmizAAxe2zVrTH0J\nalJwW+u6UUKrgIDbV68/IzYKKKQ7HwrpVnjh0T8kSFTCsfoCcTAmhlFLvHtQBUdU\nxl1E5X+Ckp3K2LOZwi5lrlK3VttSuzFTWmQ2ZMjeEdxwPjsyTsM8XWQ+SQUoPYFj\nuLcqHFf8caZFPWXrxXluTOcJOl/N5OAvObrftUz2stNnwhuPI7648umzdeAuMWGW\nrRd0ZTPDtH0xx56nvSoghNREw9imNVKIlUPwSwCBZ5iNH6fiTO5IdeDG9qWf/STJ\nwVvaDj1xAgMBAAECggEAAdCVktOJgwf8xLcddQ2bwghxy4K1qtqUy0Ux8J7lY7uZ\nzWg7Z1FWClH/A8zBqYg42M3ko+sPYpT1gDgsivDIqzbqhTr1QwOu17/WpJC+U/8b\nd1hdDerLyTpn82LrqfSf8ji9p74Hfdi4+NIv1IbGdsN1bSA1vT7kcUBNY3NXKuSa\nm5ceq6cSzuPH8qxjgkMIxxARCQtNVksMk8lIBoXNk4xxBgGnOwgHWEK9bGarPXZO\n8Z9ruWHCAJL1fiXjyJbVhdz4q8euVdR10KpF+u0/lHx2JMlLBPuIDlC8sxpwX+/V\nSw5wFziGETJiiRgkKxEqKIt/WvjHxDHWkaNZPcXkgQKBgQD0rJvKn4/oS/4kECFo\nAPFZs7uHiMDuTKh9P4aE7Pu1b3sEXAfsjMk3N5j1eV8ACFLzOfCjAStue1MFj81S\nz4dl9NBRNUdE+uTORmiX/Ch2t6bSlKNi8CdkHHKAs6kVk2Wr2XBD0fYKEmGkuh++\nMenBPZuOBjSULy4v1wumW/2UTQKBgQDTJ7tNFzt7hMoW3/djasIHUdJ4m1JZWa1A\n4fDUfvCFARUUr0k1TxcHAtQ5wQwue+uF5J7OixI+xavwHSXBTPQLbn2V2Ypbaa/F\nNr63IR2IKrtwJzt8LTXBvREESajjolvb31Vxf14/0nJgW67bjaLu5/Yq3/mjjRIZ\nqg7PpdNvtQKBgQCD8PTOLn9/CEPTFLO/DwsXkVmmO/O2TbZqXDBhTB5sd+KBtlM7\nl6wGT7/3V+0H6nU43lzKuh2+pVhe3m4dovXj4EHaGP4Gz7lFFyjeFMeJRX37ftYg\ny1qinMiOaNPcY7DnHAlzOS0Rv1nSZ+AoQ2hHob5ZtzTxWAPzHmcU3fR/3QKBgQC8\nJOvcffXvUlurVDafa/GlCgAKnQMcQC6C4I9xGAaBzHwXKTSG/ojbI2csatnK1Xn/\nnLzv9rT0H7fbRG1utn3BbdsS2XpRh3Mpu2Tl0ej5enH3Nc3oEHSUwz1VX7jP08wb\ntvzwG3hET+S//RFp6eMjEqaif111oG5fVcrKtMwX/QKBgCCTlt3lBaZPuUInLEIK\nNRqR7iZnepJsDUMYJj/T/zg+JL0novWViVEQaFB88soNGXjV6WRmytlUDi3PpNe/\nswfxQICn+ylZtYD8VoHL1+l9kDBVUQlKmZuMgh8YKEWKHoAok5gZYedB4Gtte1XQ\n+ase2cuWUegX3FAlcMf3GBqE\n-----END PRIVATE KEY-----\n",
"client_email": "my-vision-sa@readpdf-247814.iam.gserviceaccount.com",
"client_id": "101714157123021750580",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-vision-sa%40readpdf-247814.iam.gserviceaccount.com"
}

BIN
app/lib/ocr/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

67
app/lib/ocr/visionapi.go Normal file
View File

@@ -0,0 +1,67 @@
package ocr
import (
"context"
"fmt"
"os"
"google.golang.org/api/option"
vision "cloud.google.com/go/vision/apiv1"
)
var credsPath = "C:/Users/huseyin/Desktop/project/notitek/BordroRobot/app/lib/ocr/readpdf-75de5191c083.json"
func detectText(filePath string) ([]string, error) {
ctx := context.Background()
client, err := vision.NewImageAnnotatorClient(ctx, option.WithCredentialsFile(credsPath))
if err != nil {
return nil, fmt.Errorf("ImageAnnotatorClient oluşturulamadı: %v", err)
}
f, err := os.Open(filePath)
if err != nil {
return nil, fmt.Errorf("Dosya açılamadı: %v", err)
}
defer f.Close()
image, err := vision.NewImageFromReader(f)
if err != nil {
return nil, fmt.Errorf("Resim oluşturulamadı: %v", err)
}
annotations, err := client.DetectTexts(ctx, image, nil, 10)
if err != nil {
return nil, fmt.Errorf("Metin tespit edilemedi: %v", err)
}
res := make([]string, 0)
if len(annotations) == 0 {
return nil, fmt.Errorf("Metin tespit edilemedi: %v", err)
} else {
fmt.Println("Metin:")
for _, annotation := range annotations {
// fmt.Println(annotation)
res = append(res, annotation.Description)
}
}
return res, nil
}
func VisionApi(path string) ([]string, error) {
filePath := path // Örnek bir dosya yolu
resp, err := detectText(filePath)
if err != nil {
fmt.Printf("Metin tespit edilemedi: %v\n", err)
return nil, err
}
for _, txt := range resp {
fmt.Println(txt)
}
return resp, nil
}