自学内容网 自学内容网

Web自动化Demo-Go+Selenium

1.新建工程

使用GoLand新建工程如下:

打开终端输入如下命令安装Selenium

go get -u github.com/tebeka/selenium

2.编写代码

package main

import (
"fmt"
"github.com/tebeka/selenium"
"log"
"time"
)

const (
chromeDriverPath = "/opt/homebrew/bin/chromedriver"
port             = 4444
)

func main() {
var opts []selenium.ServiceOption
service, err := selenium.NewChromeDriverService(chromeDriverPath, port, opts...)
if err != nil {
log.Fatalf("Error starting the ChromeDriver server: %v", err)
}
defer func(service *selenium.Service) {
err := service.Stop()
if err != nil {
log.Fatalf("Error to stop: %v", err)
}
}(service)
caps := selenium.Capabilities{
"browserName": "chrome",
}
wd, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", port))
if err != nil {
log.Fatalf("Error creating new WebDriver instance: %v", err)
}
defer func(wd selenium.WebDriver) {
err := wd.Quit()
if err != nil {
log.Fatalf("Error to quit: %v", err)
}
}(wd)
err = wd.Get("https://www.baidu.com")
if err != nil {
log.Fatalf("Failed to load page: %s\n", err)
}
time.Sleep(3 * time.Second)
searchBox, err := wd.FindElement(selenium.ByID, "kw")
if err != nil {
log.Fatalf("Failed to find search input box: %s\n", err)
}
err = searchBox.SendKeys("Hello")
if err != nil {
log.Fatalf("Failed to send keys to search input box: %s\n", err)
}
searchButton, err := wd.FindElement(selenium.ByID, "su")
if err != nil {
log.Fatalf("Failed to find search button: %s\n", err)
}
err = searchButton.Click()
time.Sleep(3 * time.Second)
}

然后执行main函数即可


原文地址:https://blog.csdn.net/weixin_39810558/article/details/142779846

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!