我正在尝试检查网页中是否存在元素 。
我之前看过这个简单的东西是怎么做的, Check if html element exists with iMacros and javascript
(我想在那里评论,但它说最少需要50个代表)
我所说的简单的东西是这样的。
var macro;
macro ="CODE:";
macro +="TAG POS=1 TYPE=DIV ATTR=CLASS:some_class CONTENT=EVENT:MOUSEOVER ";
var ret=null;
ret=iimPlay(macro);
if(ret>0)
{
//do something
}
else
{
//do something else
}
但不幸的是,当谈到几行检查.. 正如我需要补充的那样,为了让整个过程更有效地运行..
SET !ERRORIGNORE YES
SET !TIMEOUT_STEP 2
此 ret 变量的返回始终为1(我在不同情况下提示它的值)。 所以其他条件永远不会满足。
更新:(实际案例) 这里的情况,网页的元素在滚动到它之前是不可见的。说你在Facebook上。在您滚动到文章元素之前,“添加注释”按钮不可见。它适用于这种算法。
// loop start
for(;;){
iimplaycode(*hover tag:nth-of-type(i)*);
x=iimplaycode(*check if add comment is there*);
if(x>0){
//if it's there, do comment
iimplaycode();
}
//loop to 2nd element
}
现在看到问题?如果我没有使用!TIMEOUT_STEP
,则“添加评论”的检查需要很长时间(6秒)。只是想通过将其值降低到大约1,2秒来最大化性能。
答案 0 :(得分:0)
正如您认为的那样,您需要删除
SET!ERRORIGNORE YES
为什么需要它?