selenium IDE-如何在链接中仅存储id?
如何创建一个变量,该变量的id来自索引页上的一条记录 我可以使用xpath获得我想要的锚:selenium IDE-如何在链接中仅存储id?,selenium,selenium-ide,Selenium,Selenium Ide,如何创建一个变量,该变量的id来自索引页上的一条记录 我可以使用xpath获得我想要的锚: storeText //table[@id='districts']//tr/td/a[text()='Fairview Union'] id_of_another_district 但这就是链接名。我想为该记录添加id,即在原始源代码中: <tr> <td> <a href="/districts/31">Fairview Union</a> <s
storeText
//table[@id='districts']//tr/td/a[text()='Fairview Union']
id_of_another_district
但这就是链接名。我想为该记录添加id,即在原始源代码中:
<tr>
<td>
<a href="/districts/31">Fairview Union</a>
<span class='small'><a href="/users/change_district/31">(Select)</a></span>
</td>
<td></td>
<td></td>
<td></td>
<td class='rightalign'>01/09/2012</td>
<td></td>
<td><a href="/districts/31/overview" class="report_link right"></a></td>
<td><a href="/districts/31" class="deleteicon" data-confirm="Are you sure you want to delete all data and schedules for Fairview Union?" data-method="delete" rel="nofollow" title="Delete Fairview Union"><img alt="Delete" src="/assets/icons/delete-a77f3c3c125b0817085648f284c98938.png" /></a></td>
</tr>
01/09/2012
我想在selenium中获取并存储在变量中的是记录编号31使用'store'命令,您可以在'target'列中执行javascript代码
store | javascript{…}| myVar
如果…
是,用返回id所需的js替换它
[迈克尔编辑]
我最终使用了:
storeAttribute | //*[@class='small']/a[text()='(Select)']/@href | hrefAttr
store | javascript{storedVars['hrefAttr'].replace(/.*\//,'')} | myVar
echo | ${myVar}
myVar现在具有ID,我可以执行以下操作:
open
/users/change_district/${id_of_another_district}
sircapsalot(由Michael Durrant编辑)的答案是可以的,但在我的环境中,关于javascript的执行方式有点不同:不使用javascript{…},因此,在我的例子中,它看起来像这样,并且工作正常:
<tr>
<td>storeAttribute</td>
<td>//html/body/table/tbody/tr[3]/a@href</td>
<td>hrefAttr</td>
</tr>
<tr>
<td>storeEval</td>
<td>storedVars['hrefAttr'].replace(/.*=/,'')</td>
<td>transportIdVar</td>
</tr>
<tr>
<td>echo</td>
<td>${transportIdVar}</td>
<td></td>
</tr>
考虑到我展示的页面结构,javascript将是什么?很难说,“id到另一个地区”来自哪里?另外-你的美景联盟甚至没有idid_另一个地区是我试图存储31的变量。Fairview Union使用/31/而不是
?id=31
,因为它是rails应用程序。啊哈。。谢谢你,这就有点清楚了。。我将编辑我的回复。我以为你在html属性中指的是id。@Michaeldurrent我一直在试图想出一个解决方案——这个怎么样。为什么在rails应用程序中,您不直接执行district.id
,这样您的html就会输出
http://example/local/IntegrationPick?partyId=8080595