我需要在以下HTML中选择标有“保存”的元素:
<td id="glActionAreaItem_0" tabindex="401" widgetid="glActionAreaItem_0">
<a class="actionItem" dojoattachevent="onclick:_onClick" tabindex="401" href="javascript:void(0);"> Reset </a>
</td>
<td id="ActionAreaItem_1" tabindex="402" widgetid="glActionAreaItem_1">
<a class="actionItem" dojoattachevent="onclick:_onClick" tabindex="402" href="javascript:void(0);"> Save </a>
</td>
我需要获取Save对象,但是Reset和Save对象之间只有很少的唯一字段,我不想依赖tabindex,因为我们无法保证永远保持402。
是否可以使用“保存”标签作为XPath?我该怎么做呢?或者也许我可以使用id="glActionAreaItem_1"
并以某种方式获得那些对象的孩子,那会给我Save对象吗?对不起,大声思考。
Dim btn_Save
'page is the HTML page
Set btn_Save = page.FindChildByXPath("//a[@tabindex='402']:, True)
我需要另一种方法来获取btn_Save
对象,而不是使用tabindex
属性,因为它总是不会是402。
答案 0 :(得分:0)
这是另一种获取Save对象的方法。
Set lnk_Save = page.FindChildByXPath("//td[@id='glActionAreaItem_1']//a[@class='actionItem']", True)
答案 1 :(得分:0)
是的,您可以根据XPath中的字符串值选择元素。
此XPath将选择字符串值为“Save”的a
元素:
//a[normalize-space(.) = 'Save']
这样,@tabindex
或任何其他属性是否会发生变化无关紧要。
(normalize-space()
将修剪前导和尾随空格并合并内部空间(此处不适用)。)