项目地址: https://github.com/ysmood/rod
目前我们自己的 QA 在用它做支付服务的集成测试和冒烟监控,之后还打算用到其他一些爬虫项目。相比用 Nodejs 对于 QA 来说 Go 的心智负担更小,不用教他们 Promise,异步 IO 等概念,而且要强类型的易维护性的话还得学 Typescript,过于繁杂。
下面是个简单的谷歌翻译示例:
package main
import (
"fmt"
"os"
"github.com/ysmood/rod"
)
func main() {
source := os.Args[1]
browser := rod.New().Connect()
page := browser.Page("https://translate.google.com/")
wait := page.WaitRequestIdle()
page.Element("#source").Input(source)
wait()
result := page.Element(".tlid-translation").Text()
fmt.Println(result)
}
更多详细的使用示例可以看 https://github.com/ysmood/rod/blob/master/examples_test.go
感兴趣的话请试试。另外想来收集下需求和吸引一些想一起维护的人。