如何在XPath中使用变量?

时间:2015-12-29 16:26:56

标签: html xml xpath vbscript

无效:

Set checkbox = page.FindChildByXPath("//div[@class='dojoxGridContent']//div[@role='presentation']//div//table//tbody//td//img[@onclick='ChangeCheckbox('" + i + "');']")
Set checkbox = page.FindChildByXPath("//div[@class='dojoxGridContent']//div[@role='presentation']//div//table//tbody//td//img[@onclick='ChangeCheckbox(' + i + ');']")

似乎无法使语法正确。 在该行运行之后,checkbox是一个Null对象。

以下工作正常:

Set checkbox = page.FindChildByXPath("//div[@class='dojoxGridContent']//div[@role='presentation']//div//table//tbody//td//img[@onclick='ChangeCheckbox(1);']")

我希望能够使用变量1替换i,以便我可以使用不同的复选框。

1 个答案:

答案 0 :(得分:4)

你明智的做法是使用常数作为理智检查。在成功之后剩下的就这么简单......

你的工作示例有一个常量,

"blah blah blah CONSTANT blah blah blah"

变为

"blah blah blah " + VARIABLE + " blah blah blah"

所以,在你的具体情况下:

Set checkbox = page.FindChildByXPath("//div[@class='dojoxGridContent']//div[@role='presentation']//div//table//tbody//td//img[@onclick='ChangeCheckbox(" + i + ");']")