我正在尝试找到一个元素并验证字段中的数据。在这种情况下我需要检索并检查帐号101 。
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 :(得分:1)
Desire element的id
和rel
属性值看起来是动态生成的,因此您无法使用这些属性进行定位。尝试使用一些不同的定位器,如下面的xapth
: -
.//tr[td[text() = 'Account Number']]//a
或
.//tr[td[text() = 'Account Number']]//a[contains(@rel, 'TabGroupHeaderTabList')]