【发布时间】:2014-02-24 07:44:00
【问题描述】:
我已经深入到一个 imacros 代码来比较 IP 的意图,即当 "PROXY ADDRESS={{!COL1}}" 到达该端口的工作代理时返回 TRUE。作为 iMacros 的新手,对 javascript 的了解甚至更少,我通过变量和提取进行管理以达到这一点[编辑以包含整个代码]
VERSION BUILD=9002379 RECORDER=FX
SET !ENCRYPTION NO
TAB T=1
TAB CLOSEALLOTHERS
'clear cookies and cache:
CLEAR
SET !ERRORIGNORE NO
SET !DATASOURCE C:\MyiMacros\DATAinputs\VerifyTheseProxies.csv
SET !DATASOURCE_LINE 1
SET !EXTRACT_TEST_POPUP NO
SET NewTestProxy {{!COL1}}:{{!COL2}}
PROMPT {{NewTestProxy}}
PROXY ADDRESS={{NewTestProxy}}
URL GOTO=geoiptool.com
WAIT SECONDS=2
' ooppss proxy doesn't work
SET !EXTRACT NULL
TAG POS=1 TYPE=SPAN ATTR=ID:ProxyDetail EXTRACT=TXT
PROMPT {{!EXTRACT}}
SET ProxyFails {{!EXTRACT}}
PROMPT {{ProxyFails}}<SP>{{!COL1}}:{{!COL2}}
SET YesPrxyFail (if('{{NewTestProxy}}'.equals('{{ProxyFails}}'))?"TRUE":"FALSE");
PROMPT {{YesPrxyFail}}
当 NewTestProxy 与 ProxyFails 完全相同时,我期待 TRUE,但我得到了返回的整个完整表达式,好像没有被视为 javascript ...
(if('{{NewTestProxy}}'.equals('{{ProxyFails}}'))?"TRUE":"FALSE");
得到那种类型的结果
使用
SET YesPrxyFail EVAL(('{{NewTestProxy
我尝试了建议的
SET YesPrxyFail (if('{{NewTestProxy
我也尝试了建议的
SET YesPrxyFail eval(if('{{NewTestProxy
我觉得我正在关注我在这里和在 imacros 网站上挖出的所有样本,以及其他。我错过了一些“小”的东西,我不知道它是什么。我们将不胜感激!
我有一个解决方案,但不是 100% 舒服。这两个都返回“TRUE”,但使用两个不同的比较器
SET YesPrxyFail EVAL("var s = \"{{ProxyFails}}\"===\"{{NewTestProxy}}\"; s;")
SET YesPrxyFail EVAL("var s = \"{{ProxyFails}}\"==\"{{NewTestProxy}}\"; s;")
假设这两个变量的来源是代理地址,并且接收到的两个变量可能(理论上?)是来自不同来源的对象,那么严格来说它们不可能相同。找到这个作为参考,但我不知道如何检查类型,或者实际上我正在测试的变量是否是对象..
:https://developer.mozilla.org/enUS/docs/Web/JavaScript/Reference/Operators/Comparison_Operators
提醒一下,如果 iMacros 'EVAL' 被删除,则会出现错误:它不是 javascript eval
【问题讨论】:
-
不确定我对网站规则的解释是否正确......关于我可能的解决方案的新问题是否应该在新线程中?