Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
selenium IDE-如何在链接中仅存储id?_Selenium_Selenium Ide - Fatal编程技术网

selenium IDE-如何在链接中仅存储id?

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

如何创建一个变量,该变量的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="/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