登录
首页 >  Golang >  Go问答

使用Go语言开发Selenium自动化测试 - 如何操作?

来源:stackoverflow

时间:2024-03-06 16:27:25 493浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《使用Go语言开发Selenium自动化测试 - 如何操作?》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我开始用 go 语言研究 selenium,但没有找到太多信息。 我正在使用 github.com/tebeka/selenium。

在 python 中,我只需安装 (pip install selenium) 和这样的代码即可打开浏览器:

from selenium import webdriver
driver = webdriver.chrome(executable_path=r'./chromedriver.exe')
driver.get('http://www.hp.com')

我如何在 go 中做同样的事情? 我正在尝试这个,但它不会像 python 那样打开浏览器:

package main
import (
    "fmt"
    "github.com/tebeka/selenium"
)

func main() {
    selenium.ChromeDriver("./chromedriver.exe")
    caps := selenium.Capabilities{"browserName": "chrome"}
    selenium.NewRemote(caps, fmt.Sprintf("http://www.google.com", 80))
}

go 有没有一种简单的方法可以像 3 行 python 代码一样在我的机器中打开浏览器? 谢谢!


正确答案


在 python selenium 中,它会自动启动浏览器,而 golang 不会。您必须显式运行浏览器(服务)。这是将 chromedriver 与 golang 结合使用的简单示例。

package main

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

func main() error {
    // 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://www.google.com")
}

好了,本文到此结束,带大家了解了《使用Go语言开发Selenium自动化测试 - 如何操作?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>