使用TestComplete-10.20.953.7
我的情景是这样的..
<tr>
<td>
<td>
<div>requirdText</div>
<td>
<td>
<div>STATUS</div>
<td>
.
.
.
</tr>
如果页面包含EvaluateXPath
"STATUS"
方法查找"requiredText"
这是我的XPath ..
Browsers.Item(btIExplorer).Run("http://xxx/yyy/#zzzz:A-BC-");
var page = Sys.Browser("*").Page("*");
var obj = page.EvaluateXPath("//*[contains(text(), '" + text+ "')]/../../td[4]/div");
if ( obj !== null && obj !== undefined ) {
var status = obj[0].innerText;
Log.Message(status);
}
当我运行脚本时,它会给我以下错误...
'0.innerText' is null or not an object
知道可能出现什么问题或者我的预期结果如何?
先谢谢你的帮助。
答案 0 :(得分:3)
您需要将EvaluateXPath结果转换为JScript兼容的数组:
var obj = page.EvaluateXPath(...);
if (obj != null) {
obj = obj.toArray();
...
}
或者,您可以使用FindChildByXPath - 它返回单个对象而不是数组。