小優YoU
2017-12-19 08:49
采纳率: 100%
浏览 2.1k

想做个B站直播版聊的 自动发言 脚本, POST请求发不出去

图片说明

我想做一个自动发言的机器人,
别人的聊天数据我可以抓回来,cookies登陆也没有问题,


但是我无法发送聊天信息
我用是用webkit (selenium+phantomjs)去模拟用户行为的,
程序可以定位到聊天区 <textarea> ,也可以填写内容进去,点击发送也成功了,**但是一刷新页面,发送内容就消失了**。


然后我用F12查看,通过浏览器去正常发送消息的时候,是有一个POST请求的:

图片说明


但是用代码模拟的,就抓不到这个POST请求,我代码是这样写的(绿色是已经注释掉的了):

图片说明


有熟悉 selenium+phantomjs 的同学知道为什么没有POST请求么?
或者谁有另外的方法,可以实现这个 自动发言 的方法? 不一定非用 selenium 不可,求教。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • Q-小雨 2017-12-25 06:29
    已采纳

    selumium无法触发到POST事件,只能通过HttpURL或者HttpClient模拟POST请求。
    有三个关键点:
    一个是请求头content-type要用表单类型,二是要把selumium的cookies格式转回去https请求头的cookie,三是要把表单参数编码后附加发送,然后就可以了

    点赞 评论
  • yanislong 2017-12-19 09:33

    你确定是没发送成功吗?还是你没有捕获到。

    点赞 评论
  • 小優YoU 2017-12-19 09:38

    或者哪个同学有其他途径可以模拟发送POST的也可以,曲线救国。

    点赞 评论
  • oyljerry 2017-12-19 10:10

    点击发送如果没有抓到post的包,那就还是点击没有成功,页面点击失败了,或者有其他脚本错误等

    点赞 评论
  • kjkft 2017-12-19 11:13

    使用jemeter模拟post请求,支持很多设置

    点赞 评论
  • 小優YoU 2017-12-25 06:28

    我自己解决了,selumium无法触发到POST事件,只能通过HttpURL或者HttpClient模拟POST请求。
    有三个关键点:
    一个是请求头content-type要用表单类型,二是要把selumium的cookies格式转回去https请求头的cookie,三是要把表单参数编码后附加发送,然后就可以了

    点赞 评论

相关推荐 更多相似问题