当前位置: 首页 > news >正文

Web自动化Demo-Go+Selenium

1.新建工程

使用GoLand新建工程如下:

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

go get -u github.com/tebeka/selenium

2.编写代码

package mainimport ("fmt""github.com/tebeka/selenium""log""time"
)const (chromeDriverPath = "/opt/homebrew/bin/chromedriver"port             = 4444
)func main() {var opts []selenium.ServiceOptionservice, 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函数即可


http://www.mrgr.cn/news/46117.html

相关文章:

  • Python知识点:基于Python工具,如何使用Seq2Seq进行机器翻译
  • navicat~导出数据库密码
  • 对于LLM大模型,到底微调还是不微调?
  • 【算法】——双指针算法合集(力扣)
  • linuxshell日常脚本命令之sed命令
  • 6 个最佳本地运行大模型的工具
  • 无人机陆空双模式。
  • 延迟队列:时间敏感的任务调度神器
  • ArrayList和LinkedList区别
  • sql 查询(case when)
  • mybatisPlus对于pgSQL中UUID和UUID[]类型的交互
  • m4a怎么转换mp3格式?几种m4a转变成MP3简单方法
  • C++ STL 中的 unordered_map
  • K8s-资源管理
  • 世界职业院校技能大赛赛道设计对“新双高”专业群建设的启示
  • 小型无人机,你负责算法和应用逻辑,剩下的我们负责
  • 基于ZABBIX监控 RabbitMQ服务开箱模板汉化及适用性改造
  • ChatGPT相关参数示例
  • 论文阅读:On determining the hinterlands of China‘s foreign trade container ports
  • Rope – 基于深度学习模型开源的AI换脸技术