如何提取URL会话ID并用iMacros替换旧会话ID

时间:2016-06-15 12:30:12

标签: macros imacros

首先感谢您的社区,我是新来的,如果可以的话,我想帮助每个人。

我希望能够充分解释:

  1. 我登录网页并获得随机ID(示例) 8888888888
  2. http://whatever/index.php?page=overview&session= 8888888888

    1. 我需要抓取随机会话ID: 8888888888 因为每次登录我都有一个新ID,我想在宏代码中替换OLD。 (也许有VAR?)
    2. 示例:

      首先,我会登录,我会得到随机ID。

      随机ID示例: http://whatever/index.php?page=overview&session= 8888888888

      好的,现在我运行这个宏:

      SET !VAR1 {{!URLCURRENT}}
      TAB T=1
      URL GOTO={{!VAR1}}
      

      现在我需要 获取会话ID: 8888888888 并需要替换OLD登录ID XXXX 在其余的宏中,所以我没有每当我使用新ID再次登录时,手动编写宏以运行宏。

      TAG POS=1 TYPE=A ATTR=TXT:Fleet
      TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten2&session=XXXX ATTR=NAME:ship210 CONTENT=41
      TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flotten2&session=XXXX ATTR=VALUE:continue
      TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten3&session=XXXX ATTR=NAME:system CONTENT=191
      TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten3&session=XXXX ATTR=NAME:planet CONTENT=5
      TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flotten3&session=XXXX ATTR=VALUE:continue
      TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flottenversand&session=XXXX ATTR=VALUE:continue
      WAIT SECONDS=190
      

      所以每次使用新ID登录时都会自动显示:

      TAG POS=1 TYPE=A ATTR=TXT:Fleet
      TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten2&session=8888888888 ATTR=NAME:ship210 CONTENT=41
      TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flotten2&session=8888888888 ATTR=VALUE:continue
      TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten3&session=8888888888 ATTR=NAME:system CONTENT=191
      TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten3&session=8888888888 ATTR=NAME:planet CONTENT=5
      TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flotten3&session=8888888888 ATTR=VALUE:continue
      TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flottenversand&session=8888888888 ATTR=VALUE:continue
      WAIT SECONDS=190
      

      实际上,我正在用新的手动替换旧的身份......所以我开始觉得无聊:D

      提前感谢您,如果您有任何意见,请告诉我。

1 个答案:

答案 0 :(得分:0)

尝试这种方式:

SET !VAR1 {{!URLCURRENT}}
TAB T=1
URL GOTO={{!VAR1}}

SET id EVAL("'{{!URLCURRENT}}'.match(/session=(\w+)/)[1];")

TAG POS=1 TYPE=A ATTR=TXT:Fleet
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten2&session={{id}} ATTR=NAME:ship210 CONTENT=41
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flotten2&session={{id}} ATTR=VALUE:continue
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten3&session={{id}} ATTR=NAME:system CONTENT=191
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?page=flotten3&session={{id}} ATTR=NAME:planet CONTENT=5
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flotten3&session={{id}} ATTR=VALUE:continue
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?page=flottenversand&session={{id}} ATTR=VALUE:continue
WAIT SECONDS=190