【问题标题】:Get the characters from a link in a table row从表格行中的链接获取字符
【发布时间】:2015-09-28 09:20:40
【问题描述】:

我正在使用 Selenium IDE

我在我的 href 中有一个链接,表格如下:

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

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

我知道你可以使用 storeText,但我不知道如何在我的情况下实现拆分数据,存储正确的信息以使用它们。 谁有我可以尝试的链接或解决方案?

【问题讨论】:

    标签: selenium selenium-ide


    【解决方案1】:

    对于这个场景,我会使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      相关资源
      最近更新 更多