无法从嵌套表中获取元素值

时间:2018-01-09 19:57:41

标签: selenium protractor

我处于这样一种情况:我的数据嵌套在多个表中,而表没有数据元素可以帮助我识别它。我想从01/09获取日期,并且没有与下面任何标记关联的类或名称。

<table><tbody><tr><td>
<table><tbody><tr><td class='TableHead'></td>
<td>This</td></tr>
<tr><td class='TableHead'></td>
<td>protractor</td></tr>
<tr><td class='TableHead'></td>
<td>01/09</td></tr>
<tr><td class='TableHead'></td>
<td>today</td></tr></tbody></table></tr></td></tbody></table>

有人可以帮助我摆脱这种情况并确定其中包含日期的元素吗?

我尝试创建一个自定义函数,将日期作为变量传递并使用xpath下方进行识别,但无法找到它?

FetchDetail(ValueName) {
    return element(by.xpath('//table//tr//td[2][.="'+ValueName+'"]')).isPresent()

} 

2 个答案:

答案 0 :(得分:1)

如何做到这一点,它将识别您感兴趣的td,无论它在哪个表中。

//td[@class='TableHead'][1]/../td[2]

如果这有效,我认为以下也应该有效。

//td[@class='TableHead'][1]/following-sibling::td

答案 1 :(得分:1)

要创建一个自定义函数,将date作为变量传递并标识您可以使用以下xpath

FetchDetail(ValueName) {
    return element(by.xpath("//table//table//tr//td[contains(.,'" + ValueName + "')]")).isPresent()

}