rod helper added
This commit is contained in:
25
app/lib/bot/rodhelper.go
Normal file
25
app/lib/bot/rodhelper.go
Normal 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
|
||||
}
|
||||
12
app/lib/ocr/readpdf-75de5191c083.json
Normal file
12
app/lib/ocr/readpdf-75de5191c083.json
Normal 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
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
67
app/lib/ocr/visionapi.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user