2013-06-05 36 views
1

如何创建一个变量,该变量具有索引页上我的一条记录中的id?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> 
<span class='small'><a href="https://stackoverflow.com/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> 

,我想在硒的变量来获取和储存什么记录编号31

回答

3

使用“店目标‘列“命令,可以在执行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} 
+0

会有什么javascript的是,由于我所示的页面结构? –

+0

很难说,“id_to_another_district”从哪里来?还有 - 你的锦绣联盟甚至没有ID – sircapsalot

+0

id_of_another_district是我试图存储31的变量。锦绣联盟有/ 31 /而不是'?id = 31',因为它是一个rails应用程序。 –

0

sircapsalot的答案(由迈克尔·达兰特编辑)是好的,但在我的环境中有点不同,关于如何执行JavaScript:不与JavaScript {...}所以,在我的情况下,它看起来像这样,它工作正常:

<tr> 
    <td>storeAttribute</td> 
    <td>//html/body/table/tbody/tr[3]/[email protected]</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> 

在我的情况在href看起来是这样的:

http://example/local/IntegrationPick?partyId=8080595 
相关问题