fenhanxue 发表于 2015-10-25 04:43:33

请教问题出在哪里?【已解决】

本帖最后由 fenhanxue 于 2015-12-16 23:24 编辑


#include <IE.au3>
; #include <IEEx.au3>
$oIE = _IECreate('http://item.m.yhd.com/item/6238357')
$Ele = _IETagNameGetCollection($oIE,"SPAN",28)
;_IEQuery通用获取元素对象
; $Ele = _IEQuery($oIE,"SPAN",'OuterText="指定商品满¥88,立减¥5"')

If $Ele.OuterText = '指定商品满¥88,立减¥5' Then MsgBox(0,0,'相等')
If $Ele.OuterText <> '指定商品满¥88,立减¥5' Then MsgBox(0,0,'不相等')       



If StringInStr($Ele.OuterText,'¥') Then
    MsgBox(0,0,'存在¥')
Else
        MsgBox(0,0,'不存在¥')
EndIf

上述代码,$Ele的文本,明明就是 ‘指定商品满¥88,立减¥5’,明明就显示有¥ 这个字符,但为什么我上述代码运行的结果是:
MsgBox(0,0,'不相等')       
MsgBox(0,0,'不存在¥')

风行者 发表于 2015-10-25 08:11:26

可能存在换行符了,试试这个,测试网页打不开
If StringStripWS($Ele.OuterText,8) = '指定商品满¥88,立减¥5' Then MsgBox(0,0,'相等')

diana222 发表于 2015-10-25 09:52:36

楼上的AUTOIT3第三期教学是公益还是收费?

fenhanxue 发表于 2015-10-25 13:26:31

回复 2# 风行者



网址是: http://item.m.yhd.com/item/6238357

上面的代码我好像复制漏了第一个 h,不好意思啊

fenhanxue 发表于 2015-10-25 13:34:16

回复 2# 风行者


    用StringStripWS好像还是不行

fenhanxue 发表于 2015-11-12 03:16:55

感觉好像是因为@crlf或者是@lf 这类的字符导致的错误

user030 发表于 2015-11-12 08:50:19

我的建议是替换其中的隐含的特殊字符,最好是用正则替换为空;或者判断是否含有需要包含的值:
$Ele.OuterText = StringReplace(StringReplace($Ele.OuterText,@cr,""),@lf,"")
If $Ele.OuterText = '指定商品满¥88,立减¥5' Then MsgBox(0,0,'相等')
OR
If StringInstr($Ele.OuterText, '指定商品满¥88,立减¥5')<>0 Then MsgBox(0,0,'相等')
页: [1]
查看完整版本: 请教问题出在哪里?【已解决】