2017-01-12 35 views
1

我试图找到一个元素并验证该字段中的数据。在这种情况下我需要检索并检查101的帐号。无法找到使用id和rel属性值的元素

的HTML:

<table class="headerInfo"> 
<tbody> 
<tr> 
<tr> 
<td> 
<table width="100%"> 
<tbody> 
<tr> 
<td width="25%" valign="top" align="left"> 
<table width="100%"> 
<tbody> 
<tr> 
<td class="label" valign="middle" style="">Account Number</td> 
<td></td> 
<td id="PAULABU1484216235454TabGroupHeaderTabList082588e97-f753-479d-8789-a34555053938" class="field" valign="top" align="left" style=""> 
<a rel="PAULABU1484216235454TabGroupHeaderTabList082588e97-f753-479d-8789-a34555053938DropMenu">101</a> 
</td> 
</tr> 

我试过以下,但我得到一个 'NoSuchElementException异常' 错误:

driver.findElement(By.id("PAULABU1484216235454TabGroupHeaderTabList082588e97-f753-479d-8789-a34555053938")); 

我也试过以下(但我得到同样的错误:

driver.findElement(By.cssSelector("a[rel='PAULABU1484216235454TabGroupHeaderTabList082588e97-f753-479d-8789-a34555053938DropMenu']")); 

当我复制CSS路径:

html body form div#tabHeader table tbody tr td table.headerInfo tbody tr td table tbody tr td table tbody tr td#PAULABU1484216235454TabGroupHeaderTabList082588e97-f753-479d-8789-a34555053938.field a 

当我复制的XPath:

/html/body/form/div[3]/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr[1]/td[3]/a 

我希望找到的元素,虽然没有使用绝对路径。

+0

尝试用[包含(文本()= '帐号'),然后得到的 'A' – parik

+0

文Desire元素的id和rel属性值看起来是动态生成的,因此您无法找到。使用一些不同的定位器 –

回答

1

欲望元素的idrel属性值看起来是动态生成的,因此您无法使用这些属性值进行定位。尝试使用一些不同的定位类似如下xapth: -

.//tr[td[text() = 'Account Number']]//a 

.//tr[td[text() = 'Account Number']]//a[contains(@rel, 'TabGroupHeaderTabList')] 
+1

完美谢谢。 –