0

我正在使用 Selenium IDE 和 firefox 在我的网站上运行测试,当我录制并单击列表中的一个项目时,它只给了我一个操作:单击:css=span.ui-selectmenu-status

我想从列表中选择一个项目,但类和 ID 是动态加载的,因为该站点在此处使用 JQUERY UI 运行。

我正在尝试:

点击 ://div[@id='hlevel-menu']/a[.='CATS']

但它返回一个错误:未找到..

我想这是错误的或超级错误的,如果有人知道怎么做,请帮助:)

这是我正在寻找的代码部分:

<div class="dceui ui-selectmenu-menu ui-selectmenu-open" style="z-index: 1; top: 363px; left: 699.5px;">

    <ul id="hlevel-menu" class="ui-widget ui-widget-content ui-selectmenu-menu-dropdown ui-corner-bottom bg_education_icon" aria-hidden="false" role="listbox" aria-labelledby="hlevel-button" style="width: 121px; height: auto;" aria-disabled="false" aria-activedescendant="ui-selectmenu-item-331">

    <li class="" role="presentation">
        <a id="" href="#nogo" tabindex="-1" role="option" aria-selected="false">- Please choose -</a>
    </li>

    <li class="" role="presentation">
        <a href="#nogo" tabindex="-1" role="option" aria-selected="false">DOGS</a>
    </li>

    <li class="" role="presentation">
        <a id="" href="#nogo" tabindex="-1" role="option" aria-selected="false">CATS</a>
    </li>

    <li class="ui-corner-bottom ui-selectmenu-item-selected" role="presentation">
        <a href="#nogo" tabindex="-1" role="option" aria-selected="true" id="ui-selectmenu-item-331">PIGS</a>
    </li>
</div>

非常感谢 !

4

2 回答 2

0

它不起作用,因为//div/a正在寻找直系后代,而不是子子项中任何地方的所有标签。你需要做//div/ul/li/a[text()='CATS']

然后你需要自己学习一下xpath

于 2012-06-18T23:53:00.417 回答
0

你的意思是 jQuery 自动完成?还是普通类型的下拉菜单?

这就是我在 selenium 中选择自动完成列表值的方式:(注意这是在代码中输入的,而不是记录的代码)。这有点棘手,你必须让它触发自动完成,然后你必须突出显示值,然后你必须选择它。

string locator = "id=hlevel-menu";
string value = "CATS";
selenium.Focus(locator);
selenium.Type(locator, value);
selenium.KeyDown(locator, "\\40");
Thread.Sleep(50);
selenium.KeyDown(locator, "\\40");
Thread.Sleep(50);
selenium.KeyDown(locator, "\\13");
Thread.Sleep(50);
于 2012-06-18T23:54:33.963 回答