关于虎牙原神直播激励的js脚本失效的解决方案
前几天看 @佳佳佳锦 大佬的视频,学习了一下js写脚本的操作。但是在使用过程中发现,刷新之后就不会再点击领取按钮了。
因为我是完全的js小白,所以一时也不会改,试了下能查到的各种函数,猜测可能是脚本无法识别刷新后的按钮,因此一旦点击了刷新,通过识别tagname来点击的操作都会失效。

我想,既然无法直接锁定按钮,那就通过点击坐标位置的方式来间接点击按钮。经过尝试,证实了这个方案是有效的,脚本在点击刷新之后依然可以正确的点击领取按钮,以下是修改后的代码:
function Reflash(){
document.getElementsByClassName('reload J_reload')[1].click();
}
function GetPrimogems(){
document.elementFromPoint(600-window.pageXOffset,2280-window.pageYOffset).click();
}//600:2280位置可用于领取第五天奖励,可更改。
function A(){
setInterval(Reflash,1000);
setInterval(GetPrimogems,500);
}//刷新按钮每1000ms点击一次,抢原石按钮每500ms点一次。可更改。
Mytime=2*60*60//此处为开始抢购的时间,当前为2时整,可更改。
Timer=Mytime-(new Date().getHours()*60*60+new Date().getMinutes()*60+new Date().getSeconds());
setTimeout(A,Timer*1000);


这个代码比较麻烦的地方就在于需要手动输入坐标,获取坐标需要以下代码:
document.onclick=function(e)
{
var x=e.pageX;
var y=e.pageY;
alert(x+":"+y);
}
用得到的数值替换600和2280,即可点击你希望点击的位置。


请注意:执行此代码时务必保证页面缩放比例100%以上,否则点击位置将不准确。
ps:本人是实实在在的js小白,此代码仅保证有效,难免属于脱裤子放屁。欢迎指教。

附上 @佳佳佳锦 大佬的页面1代码:
function star(){
var btn1=document.getElementsByTagName('button')[14]
f2=setInterval(()=>{btn1.click()},200)}
d1=new Date()
time1=(2*60*60)-(d1.getHours()*60*60+d1.getSeconds()+d1.getMinutes()*60)
setTimeout(star,1000*time1)