如何使用golang在远程selenium中加载Chrome扩展?

yizd12fk  于 2022-11-24  发布在  Go
关注(0)|答案(1)|浏览(211)

我有在码头集装箱 selenium (selenoid从aerocube)和 selenium 库golang从tebeka。
我找不到任何示例来说明如何在带有扩展名的远程selenium中运行chrome(字面上仅适用于go)
我甚至在库中找到了这样做的函数,但我没有找到使用它的代码示例。
(请参阅:)

caps := selenium.Capabilities{"browserName": "chrome", "browserVersion": "103.0"}

driver, err := selenium.NewRemote(caps, "http://127.0.0.1:4444/wd/hub")
if err != nil {
    fmt.Printf("create selenium session error: %v\n", err)
    return
}
defer driver.Quit()
driver.Get("https://www.google.com/")
driver.Close()
e0bqpujr

e0bqpujr1#

我想使用modheader扩展,但我得到了同样的问题,我解决了它。

步骤1:获取您的chrome扩展名(.crx)文件

在我的情况下,我找到modheader文档,并从页面获得下载链接。
https://docs.modheader.com/advanced/selenium-webdriver
将.crx文件下载到项目. the .crx download page
下载链接https://github.com/modheader/modheader_selenium/raw/main/chrome-modheader/modheader.crx
注:Web浏览器可能会根据策略阻止下载,请使用“wget”命令获取文件。
block by browser
wget the file
如果你想得到其他扩展名,使用下面的CRX Extracti/Downloader可以帮助你。
CRX Extracti linkCRX Extracti/Downloader webpage打印机

步骤2:使用代码洛丁扩展

package main

import (
    "fmt"
    "os"

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

const (
    port = 8080
)

func main() {

    opts := []selenium.ServiceOption{
        // Enable fake XWindow session.
        // selenium.StartFrameBuffer(),
        selenium.Output(os.Stderr), // Output debug information to STDERR
    }

    _, err := selenium.NewChromeDriverService("../your_driver_path/chromedriver.exe", port, opts...)
    if err != nil {
        panic(err)
    }
    
    caps := selenium.Capabilities{"browserName": "chrome"}
    var cap_ext chrome.Capabilities

    // add your extention by crx file
    cap_ext.AddExtension("./modheader.crx")
    caps.AddChrome(cap_ext)

    wd, err := selenium.NewRemote(caps, fmt.Sprintf("http://127.0.0.1:%d/wd/hub", port))

    // Using api to setting modheader

    // add header
    wd.Get("https://webdriver.modheader.com/add?test=ModHeader%20Test")

}

步骤3:设置扩展名

Modheader扩展为设置提供API。
示例:

wd.Get("https://webdriver.modheader.com/add?test=ModHeader%20Test")

步骤4:结果
Loading and setting extention successful
希望我能帮上忙祝你好运。

相关问题