从 link 中的 table 行中获取字符

Get the characters from a link in a table row

我正在使用硒 IDE

我的 href 中有一个 link table,例如:

<table><tr><td>
<a href="#/FR/iWeb/Colis?c=9L07186140438-20150330" target="_blank">9L07186140438</a>
</td></tr></table>

我想获取我的 href=c= 开始的最新字符,在我们的示例中它将是 9L07186140438-20150330

我知道您可以使用 storeText,但我不知道如何在我的案例中实现拆分数据、存储正确的信息以使用它们。 有没有人有 link 或我可以尝试的解决方案?

对于这个场景,我将使用 StoreAttribute 来获取 href,但这会占用全部资源。如果您希望存储的部分之前的部分在所有链接中都是一致的,则可以使用正则表达式来分离出您需要的部分。 (或者即使 c= 位是一致的,因为我使用的正则表达式只查找 =,而不是你需要的前面的完整 href)

所以 Selenium 测试看起来像这样

<tr>
    <td>storeAttribute</td>
    <td>css=td>a@href</td>
    <td>href</td>
</tr>
<tr>
    <td>echo</td>
    <td>${href}</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>storedVars['href'].match(/[^=]+$/)</td>
    <td>url</td>
</tr>
<tr>
    <td>echo</td>
    <td>${url}</td>
    <td></td>
</tr>

这会给你所需要的。日志输出如下

[info] Playing test case Untitled
[info] Executing: |storeAttribute | css=td>a@href | href |
[info] Executing: |echo | ${href} | |
[info] echo: #/FR/iWeb/Colis?c=9L07186140438-20150330
[info] Executing: |storeEval | storedVars['href'].match(/[^=]+$/) | url |
[info] script is: storedVars['href'].match(/[^=]+$/)
[info] Executing: |echo | ${url} | |
[info] echo: 9L07186140438-20150330
[info] Test case passed 

有关如何分解正则表达式的更多信息,请查看 here