如何从功能标签的页面源代码中获取值?

时间:2019-06-08 03:12:40

标签: javascript html regex object attributes

这是源代码中的功能

function dosubmit()
  {
    if (getObj("Frm_Username").value == "")
    {
      getObj("errmsg").innerHTML = "Username cannot be empty.";
      getObj("myLayer").style.visibility = "visible" ;
      return;
    }
    else
    {
      getObj("LoginId").disabled = true;
      getObj("Frm_Logintoken").value = "3";
      document.fLogin.submit();
    }
  }

我想获取getObj(“ Frm_Logintoken”)的值,因为我无法提取该值  来自#Frm_Logintoken

使用document.getElementById("#Frm_Logintoken")给我空

因为Frm_Logintoken仅在我单击“提交”时才得到它的值。

<input type="hidden" name="Frm_Logintoken" id="Frm_Logintoken" value="">

完整的page code

我在网上找到了这个/getObj\("Frm_Logintoken"\).value = "(.*)";/g,但是当我运行它时……它又给了我同一行!是full code

我发现了另一个正则表达式,但甚至不知道如何使用它

  

要搜索的正则表达式示例:   before_egrep =' N1 :getObj(“ Frm_Logintoken”)。value =“(\ w +)”'

     

此处, N1 被分配了反向引用的值-   用括号表示。 \ w +表示主要的复合字符,   这是“ [_ [:alnum:]]”的同义词。再次-注意   括号-这是反向链接。同时,也有   源代码片段中的括号-需要转义

我正在尝试制作一个可以在后台运行的自动登录脚本

不向用户显示登录表单页面,而是仅显示其后的页面

,我也在网上找到了此代码,但不知道这是怎么回事 contains xhr

吸引我注意的那一行是

/getObj\("Frm_Logintoken"\).value = "(.*)";/g 

当我运行它时...又给了我一行!

一些注意事项:

我尝试了document.getElementById(“ Frm_Logintoken”)。value,但是它给了我空的“”,因为

  

Frm_Logintoken仅在单击提交时得到它的值。

如果Frm_Logintoken令牌值不同于页面中的一个,则该页面甚至不会接受正确的密码。

Frm_Logintoken是由页面生成的令牌,每次成功登录后基本上都会增加一个。

2 个答案:

答案 0 :(得分:0)

我不太确定建议使用表达式来帮助解决问题,但是如果我们希望从建议的ul.menu { cursor: default; } 标记中提取某些属性和值,我们可能会从类似于以下内容的表达式

input

,如果需要的话,它使用交替来同时收集某些属性的值。

Demo

RegEx

如果不需要此表达式,并且希望对其进行修改,请访问regex101.com上的此链接。

RegEx电路

jex.im可视化正则表达式:

enter image description here

答案 1 :(得分:0)

要获得价值,您可以使用捕获组([^"]+)和否定的字符类:

\bgetObj\("Frm_Logintoken"\)\.value = "([^"]+)";

Regex demo | Javascript demo

例如:

let str = `getObj("Frm_Logintoken").value = "3";`;
let pattern =/\bgetObj\("Frm_Logintoken"\)\.value = "([^"]+)";/;

console.log(str.match(pattern)[1]); //3