基于图像名称或链接名称的图像列表的Selenium链接

时间:2014-09-27 06:44:41

标签: selenium selenium-ide

我有一个由

  • 标签构成的菜单功能区,子列表被隐藏,直到单击上一级列表。如何识别此图像的目标以便我可以单击它?

    <li class="rbnsel">
        <div class="rbl" href="option/index?lfeCyc=Active">
            <img src="../icn/op.png">
            </img>
            Options
        </div>
    

    Selenium IDE无法识别图像和链接(超出更高的列表项),我尝试过:

    css=rbl:contains('option')
    

    xpath=//span[url()='option/index?lfeCyc=Active']
    

    我希望了解我应该用什么来识别目标。

    编辑:

    我已经添加了触发要创建的链接的javascript。所以我的Selenium IDE表源是在下面..

    <tr>
    <td>selectWindow</td>
    <td>null</td>
    <td></td>
    </tr>
    <tr>
    <td>click</td>
    <td>link=Publish</td>
    <td></td>
    </tr>
    <tr>
    <td>runScript</td>
    <td>var path = $(this).attr('href'); if (e.which == 1 &amp;&amp; !e.ctrlKey) {window.location = getCsBaseUrl() + &quot;/&quot; + path;} else {csNewWindow(path);</td>
    <td></td>
    </tr>
    <tr>
    <td>MouseOver</td>
    <td>//div[contains(@class, 'rbl') and text()='Options']</td>
    <td></td>
    </tr>
    <tr>
    <td>click</td>
    <td>//div[contains(@class, 'rbl') and text()='Options']</td>
    <td></td>
    </tr>
    

    我想也许我的序列或代码是错误的,我尝试了所有可能的组合,但没有运气。

  • 2 个答案:

    答案 0 :(得分:0)

    WebElement we = driver.findElement(By.cssSelector("div.rbl img"));
    

    然后你可以做

    string attr = we.getAttribute("src");
    

    希望有所帮助

    答案 1 :(得分:0)

    我捏造了一个解决方案 - 但只是使用open命令来查询相关链接。它不是一个标准的鼠标悬停,但它现在可以做的一组动作; - )

    即命令&#39;打开&#39;和目标:

    /option/index