JavaScript脚本实现微博自动多次转发(附代码)

准备工作

需要一个能转发多次微博的账户,普通账户只能转发同一条微博几次,且有封号风险,具体怎么让账户能转发多条微博网上有方法教学。

脚本实现及原理

在网上有很多JavaScript脚本实现微博转发的脚本文章,通过发送post请求来实现快速多次转发,如下所示,转发微博时会向服务器发送名为normal_repost的请求,通过脚本发送表单数据来转发微博

但是这种方法我写的脚本始终收到服务器的403回复,不停的改还是没能找到解决办法。想着可以试着换个方法,按照我之前用py脚本的方法来实现转发,模拟鼠标点击实现自动转发微博。运行该脚本需要修改下面中文显示的几个地方。

function sleep(delay) {
    return new Promise((resolve) => setTimeout(resolve, delay));     //时间休眠sleep函数
}
//转发函数(async为异步函数)
async function test(count) {

document.evaluate('第一个按钮的XPath路径',document.body,null,9,null).singleNodeValue.click();       //点击转发图标,并把XPath路径替换为你要转发的微博的转发图标的XPath路径

await sleep(500);//休眠0.5秒

document.evaluate('第二个按钮的XPath路径',document.body,null,9,null).singleNodeValue.click();  //点击转发按钮,替换XPath路径

await sleep(300);

t=document.getElementsByClassName('输入内容文本框的class名称')[0];       
evt = document.createEvent('HTMLEvents');
evt.initEvent('input', true, true);                                                           //向文本框输入内容
t.value= count;
t.dispatchEvent(evt);      
                                                                                                      
await sleep(500);

document.evaluate('最后一个按钮的XPath路径',document.body,null,9,null).singleNodeValue.click();     //点击最后转发,替换XPath路径

await sleep(500);

document.evaluate('第一个按钮的XPath路径',document.body,null,9,null).singleNodeValue.click();       //最后要再点击转发图标,回到最初界面,进行下一次转发

await sleep(500);

}

async function main() {
    var count = 1000;
    for (var i = 0; i < 10; i++) {
        count++;
        await Promise.all([test(count)]);      //将 sleep 函数和 DOM 操作的 Promise 包装在一个 await Promise.all([...]) 中,以确保所有异步操作都在并行执行后,才会进入下一次循环迭代。这样可以避免异步问题。                                                                                                   
    }
}
main();

手动转发时需要点击下面三个键以及输入内容的对话框。

 

 我们通过F12打开浏览器开发者工具定位这三个键的XPath路径和输入内容框的class名称,然后将得到的内容按顺序放入代码中,修改好就可以直接在浏览器控制台运行了。转发的内容为count设置的内容,我设置的是数字,每次转发加一保证转发内容不一致,也可以设置成任意字符串。运行脚本时候滑动界面和将运行界面最小化或者切换到其他浏览器标签都会对脚本运行有影响,如果要多个窗口同时运行可以将窗口缩小始终放在最前面。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
实现图片自动切换可以使用JavaScript的定时器和DOM操作来实现。以下是实现图片自动切换的示例代码: HTML代码: ```html <div id="slider"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.jpg" alt="Image 3"> </div> ``` CSS代码: ```css #slider { position: relative; width: 500px; height: 300px; overflow: hidden; } #slider img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease-in-out; } #slider img.active { opacity: 1; } ``` JavaScript代码: ```javascript // 获取图片列表 var slider = document.getElementById('slider'); var images = slider.getElementsByTagName('img'); // 设置初始变量 var current = 0; var interval = 2000; // 2秒钟切换一次 // 设置定时器,自动切换图片 setInterval(function() { // 隐藏当前图片 images[current].classList.remove('active'); // 计算下一张图片的索引 current = (current + 1) % images.length; // 显示下一张图片 images[current].classList.add('active'); }, interval); ``` 以上代码中,首先通过DOM操作获取到图片列表,然后设置初始变量current为0,interval为2秒钟。接着,设置定时器,每隔interval时间隐藏当前图片,并计算下一张图片的索引,最后显示下一张图片。通过添加和删除active类来实现图片的显示和隐藏效果。 需要注意的是,CSS代码中使用了opacity属性来实现图片的渐变效果,需要在不同浏览器下进行兼容性处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值