基于文本省略提取

时间:2017-09-04 22:00:02

标签: javascript firefox-addon imacros

如果我不是很清楚,我很抱歉,英语不是我的母语。

我需要的是创建一个代码来喂马,首先要做的是提取数字10,如图Click for view所示,并在下面的面板中标记,但如果出现警告,你需要选择20,但是当出现警告2时,不要给马任何东西。这可能听起来很愚蠢我的问题,但它可以让你服务不止一个。

现在我已经完成了所有这些精心设计的

这段代码的作用是提取数字10

SET !EXTRACT_TEST_POPUP NO
TAG XPATH="//form[@id='feeding']/table[1]/tbody/tr[2]/td[1]/span[2]/strong" 
EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL

TAG POS=1 TYPE=SPAN ATTR=TXT:{{!VAR1}}

现在我需要从警告“如果可用”中提取数字20

<span class="grid-cell">Caution: your horse is underweight, give him 20 
fodder today to bring him back into shape!</span>

如果按向下显示

,则选择任何内容
<span class="grid-cell">Your horse is getting too fat. Don't give him 
anything to eat today so he can get back to his regular weight!</span>

为此,我必须使用EVAL:http://wiki.imacros.net/EVAL

SET !ERRORIGNORE YES
TAG POS=2 TYPE=SPAN ATTR=TXT:Caution:
<SP>your<SP>horse<SP>is<SP>underweigh,* EXTRACT=TXT
        'To remove punctuation marks and words I had to add them here
SET !VAR2 EVAL("'{{!EXTRACT}}'.replace(/[\\$|abCcdefghiklmnoprstuvwy 
|:!,]/g, '');")
SET !EXTRACT NULL

2 个答案:

答案 0 :(得分:0)

描述不够清楚,但我尝试使用以下代码来帮助您:

SET !EXTRACT_TEST_POPUP NO
TAG XPATH="//form[@id='feeding']/table[1]/tbody/tr[2]/td[1]/span[2]" EXTRACT=TXT

SET !ERRORIGNORE YES
SET posSpan EVAL("('{{!EXTRACT}}'.match(/\d+/)) ? 1 : 0;")
SET txtSpan EVAL("'{{!EXTRACT}}'.match(/\d+/);")
SET !EXTRACT NULL

TAG POS={{posSpan}} TYPE=SPAN ATTR=TXT:{{txtSpan}}
SET !ERRORIGNORE NO

希望它会有用。

答案 1 :(得分:0)

我的问题在这里得到解决Click for view感谢所有事情:]

这是我完成的代码:

SET !REPLAYSPEED FAST
SET !EXTRACT_TEST_POPUP NO
FILTER TYPE=IMAGES STATUS=ON
SET !EXTRACT NULL
TAG XPATH="//form[@id='feeding']/table[1]/tbody/tr[2]/td[1]/span[2]/strong" 
EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
'>
SET !EXTRACT NULL
SET !ERRORIGNORE YES
SET !TIMEOUT_PAGE 1
TAG POS=2 TYPE=SPAN ATTR=TXT:Caution:
<SP>your<SP>horse<SP>is<SP>underweigh,* EXTRACT=TXT
SET !VAR2 EVAL("'{{!EXTRACT}}'.replace(/[\\$|abCcdefghiklmnoprstuvwy 
|:!,]/g, '');")

SET !VAR3 EVAL("var n1='{{!VAR1}}', n2='{{!VAR2}}'; if((n1*1)>(n2*1)){var x 
= \" {{!VAR1}}\";} else {var x=\"{{!VAR2}}\";} x;")

TAG POS=1 TYPE=SPAN ATTR=TXT:{{!VAR3}}