闲话不多,直入正题。案例代码如下。
ifexist =
Browser("AdShare").Page("AdShare").WebElement("innertext:=名称已存在").Exist
msgbox ifexist
调试结果如下
实际页面中该对象的确存在
使用spy查看对象属性得到如下结果
属性名和属性值的确没有出错。到底是哪里出了问题,反复调试后,使用innerhtml属性解决了问题。
ifexist =
Browser("AdShare").Page("AdShare").WebElement("innerhtml:=名称已存在").Exist
msgbox ifexist
那innerhtml,innertext,outertext,outerhtml之间究竟有何区别呢,在网上查到资料如下。
innerHTML 设置或获取位于对象起始和结束标签内的 HTML
outerHTML 设置或获取对象及其内容的 HTML 形式
innerText 设置或获取位于对象起始和结束标签内的文本
outerText 设置(包括标签)或获取(不包括标签)对象的文本
innerText 和outerText 在读取得时候是一样的,只是在设置的时候outerText
会连带标签一起替换成目标文本
总结,使用qtp进行描述性编程时,如果需要使用以上4个属性,需要考虑中文英文文本区别,html标签影响等因素再调试出最优结果。