how to launch my own browser version with selenium using go?

238 views Asked by At
package main

import (
    "fmt"
    "time"

    "github.com/tebeka/selenium"
    "github.com/tebeka/selenium/chrome"
)

func main() {
    // Run Chrome browser
    
    service, err := selenium.NewChromeDriverService("./chromedriver", 4444)
    if err != nil {
        panic(err)
    }
    defer service.Stop()

    caps := selenium.Capabilities{}
    caps.AddChrome(chrome.Capabilities{Args: []string{
        "window-size=1920x1080",
        "--no-sandbox",
        "--disable-dev-shm-usage",
        "disable-gpu",
        // "--headless", // comment out this line to see the browser
    }})
    
    driver, err := selenium.NewRemote(caps, "")
    if err != nil {
        panic(err)
    }

    driver.Get("https://google.com")
    time.Sleep(50e+10)

The code above makes a new clear version of chrome browser. In my case I need to open my default one with my cookies and other data (no tabs needed).

I haven't found a method using Go programming language. I found a solution for a C# language (i guess) here it is ChromeOptions options = new ChromeOptions(); options.setBinary("/path/to/other/chrome/binary");

but I'm noob and i don't know how to convert it to fit in my code.

Thanks for any help

UPDATE

I tryed this. But it doesn't work anyway :c

package main

import (
    "fmt"
    "time"

    "github.com/tebeka/selenium"
    "github.com/tebeka/selenium/chrome"
)

func main() {
    // Run Chrome browser

    service, err := selenium.NewChromeDriverService("./chromedriver", 4444)
    if err != nil {
        panic(err)
    }
    defer service.Stop()

    caps := selenium.Capabilities{}

    caps.AddChrome(chrome.Capabilities{
        Path: "C:/Program Files/Google/Chrome/Application/chrome.exe",
        Args: []string{
            "window-size=1920x1080",
            "--no-sandbox",
            "--disable-dev-shm-usage",
            "--disable-gpu",
            "--user-data-dir=C:/Users/nikit/AppData/Local/Google/Chrome/User Data/Profile 2",

            // "--headless", // comment out this line to see the browser
        }})

    driver, err := selenium.NewRemote(caps, "")
    if err != nil {
        panic(err)
    }

    driver.Get("https://point.wb.ru/login")
    elem, _ := driver.FindElement(selenium.ByClassName, "opp-form")
    if elem != nil {
        fmt.Println("нашел!")
    }
    time.Sleep(time.Second * 100)
}
1

There are 1 answers

0
Flex Lox On BEST ANSWER

nevermind i did it...

    caps.AddChrome(chrome.Capabilities{
                    Path: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
                    Args: []string{
                        "start-maximized",
                        "--no-sandbox",
                        "--disable-dev-shm-usage",
                        "--disable-gpu",
                        "--user-data-dir=C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User Data",
                        "--profile-directory=Profile Default",
                        // "--headless", // comment out this lienter code herene to see the browser
                }})