Selenium IDE动态ID由网站创建

时间:2017-06-01 08:09:30

标签: html css selenium ide

我开始使用Selenium IDE 2.9.1作为连接到Firefox的插件。我想要的是存储新文档的动态创建ID并在最后打开它。例如:

  • 我创建了一个文档,DataBase给出了自动ID:dp_137282
  • 之后有一个Selenium代码做其他事情,这并不重要,

  • 但最后Selenium应该按ID找到我的文档并使用双击命令打开它。

请检查以下代码:

<div id="content" style="height: 373px; width: 1324px;">
<div class="main-content" rel="kancelaria/rkp/rkp-faktury/type//rok_roboczy/2017">
<h3 class="gray">
<form class="form" action="kancelaria/rkp/rkp-faktury/type//rok_roboczy/2017" onsubmit="">
<input style="display:none;" value="asd" type="submit">
<div id="flex-list">
<table id="kancelaria-rkp-index" class="dark-gray overlap" style="width:100%;" headlines="">
<thead>
<tr id="dp_137282" class="multi-selectable" style="" ondblclick="this.className += ' doubleclicked'; Load.Content('kancelaria/rkp/szczegoly-rkp-faktury/id/dp_137282')" data-b="kancelaria/rkp/szczegoly-rkp-faktury/id/dp_137282" onclick="" data-status="">

Please click here to view picture

最后我在Target字段中使用了xpath

xpath=(//td[@onclick=' '])[7]

我发现Selenium创建的新文档始终位于顶部,因此打开它不应该是一个问题,但我不想继续这样做。所以如果你们中的某个人知道决心并且可以分享,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用storeAttribute命令存储<td>标记的ID属性,稍后您可以使用它

e.g。

<tr>
    <td>storeAttribute</td>
    <td>xpath=//table[@id='kancelaria-rkp-index']/thead/tr/@id</td>
    <td>dynamicvalue</td>
</tr>

这将存储您的动态ID

并且在完成之后你可以利用那个id。

<tr>
    <td>echo</td>
    <td>${dynamicvalue}</td>
    <td></td>
</tr>

打印id属性值

<tr>
    <td>clickAndWait</td>
    <td>id=${dynamicvalue}</td>
    <td></td>
</tr>

点击ID已存储的元素