为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 模拟页面访问:冲浪不触发 Javascript

Golang 模拟页面访问:冲浪不触发 Javascript

Go
慕盖茨4494581 2022-10-24 15:13:37
我有一个 Go 程序,它只是模拟使用 Surf ( ) 访问的本地网页,gopkg.in/headzoo/surf.v1但页面上的 Javascript 似乎没有被执行。只是为了测试我让网页对服务器上的另一个路由进行 ajax 调用,该路由只会在服务器端输出响应。<html><head><script src="jquery.min.js"></script></head><body><script>$.ajax ({    url : "/test",    type : "GET",    success : function(res) {},    error : function(res) {}});</script></body></html>然后 Go Surf 功能访问页面,该路由还在服务器端输出响应,该响应正在显示,但来自 ajax 请求的响应未显示。func simulateVisit() {    bow := surf.NewBrowser()    bow.SetUserAgent("LocalCrawler/1.0")    err := bow.Open("http://127.0.0.1/page")    if err != nil { fmt.Println(err) }}为了确保它只发生在 Surf 中,我还使用 Chromedp ( github.com/chromedp/chromedp) 对其进行了测试,它给出了正确的两种响应。这是 Surf 的限制还是我在做一些愚蠢的事情?
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

Surf 不包含 JS 运行时。它确实支持下载脚本,但它永远不会真正执行它们。



查看完整回答
反对 回复 2022-10-24
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信