如何获得旧价值和新价值并进行比较

时间:2020-07-29 05:50:22

标签: javascript

我正在编写一段代码,但不确定是否正确。

我想从我的帐户中读取余额,如果值比以前高,请执行一些操作。

这是我到目前为止所做的:

var prof = document.getElementsByClassName('styles__Content-rlm06o-1 ixoRjG')[0].childNodes[0].data / 500;  // balance field

if (document.getElementsByClassName('styles__Content-rlm06o-1 ixoRjG')[0].childNodes[0].data >= 0) // if balance is higher than 0
    document.getElementsByClassName('Link-q08rh0-0 fODGkp')[0].click();
    document.getElementsByClassName('NavLink__StylesNavLink-sc-140hi5a-0 etHlta')[3].click();
    document.getElementsByClassName('Button__StyledButton-sc-8bd3dp-0 fGwihv')[0].click(); // click trezor
    document.getElementsByClassName('styles__InputField-ix7z99-3 gQVvYS')[0].value= prof; // enter the amount
    document.getElementsByClassName('Button__StyledButton-sc-8bd3dp-0 fbjzSA')[0].click(); // click button

1 个答案:

答案 0 :(得分:2)

  1. 据我了解,您正在项目中使用CSS模块,并且代码依赖于运行时生成的CSS名称,问题是每次构建或运行项目时,所有CSS名称都会由新的后缀再次生成。并且此代码将不起作用。 也就是说,此CSS类styles__Content-rlm06o-1 ixoRjG将更改为styles__Content-rsg876o-1 sd07gs之类的东西,进入您的下一个版本。因此,解决方案是为您需要的每个元素使用唯一的id
  2. 您应该在每张支票中存储以前的余额,并将其与该值进行比较。
    var prevValue = 0;
    var prof = document.getElementsByClassName('styles__Content-rlm06o-1 ixoRjG')[0].childNodes[0].data / 500;  
    //ballance field
    var balance = document.getElementsByClassName('styles__Content-rlm06o-1 ixoRjG')[0].childNodes[0].data;
    if (balance >= prevValue) {  //if ballance is higher than 0
      document.getElementsByClassName('Link-q08rh0-0 fODGkp')[0].click();
      document.getElementsByClassName('NavLink__StylesNavLink-sc-140hi5a-0 etHlta')[3].click();
      document.getElementsByClassName('Button__StyledButton-sc-8bd3dp-0 fGwihv')[0].click();
      
      oldValue = balance;
    }