<TH class="abcd" style="WIDTH: 70%">03 Mar 2014</TH>
<TH style="WIDTH: 58%" height=18>27 Feb 2014</TH>
<TH class="abcd" style="WIDTH: 70%">03 Jun 2014</TH>
<TH style="WIDTH: 58%" height=18>12 Jun 2014</TH>
我们需要从上面的HTML代码段中检索日期。所有日期都出现在两个标签中的任何一个中,并且需要使用单个XPATH检索所有日期
我能够使用两个不同的xpath获取日期值。一个用于第一个标记<TH class=.... >
,另一个用于<THstyle = ....>
Xpath one : //TH[@class = 'abcd']
Xpath two : //TH[@height = '18'] 'Not sure if this is right
只有一个xpath是从上面的HTML中获取日期值。
首先非常感谢@MathiasMüller。我试过但没有运气。它返回0个元素。可能是我错过了一些东西而不是你提出的xpath的任何东西:)。所以我在这里发布一个更新的代码.. Vbscript&amp; QTP。如果这是对的,请告诉我,我在这里缺少什么
注意:所有这些日期值都在网表中
Set odesc=Description.Create()
odesc("micclass").value="WebElement"
odesc("xpath").value="//th[@class = 'abcd' or @height = 18]/text()"
set test = Browser("asdfasdf").Page("asdfasdf").WebTable("xyz").ChildObjects(odesc)
For i = 1 To test.count-1
val=test(i).GetROProperty("innertext")
MsgBox val
Next
答案 0 :(得分:3)
假设输入文档格式正确,请使用
//TH[@class = 'abcd' or @height = 18]/text()
将产生(个别结果由-----
分隔):
03 Mar 2014
-----------------------
27 Feb 2014
-----------------------
03 Jun 2014
-----------------------
12 Jun 2014
路径表达式还将检索存在两个属性的节点,例如
<TH class="abcd" style="WIDTH: 70%" height="18">03 Jun 2014</TH>
答案 1 :(得分:1)
您的代码应该是这样的。从XPath描述中删除文本
Set odesc=Description.Create()
odesc("micclass").value="WebElement"
odesc("xpath").value="//th[@class = 'abcd' or @height = 18]"
set test = Browser("asdfasdf").Page("asdfasdf").WebTable("xyz").ChildObjects(odesc)
For i = 1 To test.count-1
val=test(i).GetROProperty("innertext")
MsgBox val
Next