Selenium - 如何让脚本使用ajax控件下拉列表

时间:2013-02-13 21:32:07

标签: html ajax drop-down-menu selenium

我一直在使用Selenium产品。

常规HTML页面,表单和javascript正常运行。

我们的开发人员刚刚添加了一个AJAX下拉菜单。

我不能用硒“记录”,我该如何使用它?实际上我可以记录控件最初被点击(这使得下拉列表出现),但没有点击什么选项。然后我怎么能检测到他们点击了其中一个选项?

显示的HTML是:

<ul id="fruit-switcher" class="nav nav-pills">
  <li class="dropdown">
    <a class="dropdown-toggle" href="#">
      Change fruit…
      <b class="caret"></b>
    </a>
    <ul class="dropdown-menu">
      <li>
        <a rel="nofollow" data-method="put" href="/admin/fruits/23-bananas/activate"></a>
      </li>
      <li>
        <a rel="nofollow" data-method="put" href="/admin/fruits/28-apples/activate"></a>
      <li>
      </li>
      <li>
        other options (a links)...
      </li>...
    </ul>
  </li>
</ul>
<script>

  //<![CDATA[
    $(function() {
      $('#fruit-switcher .dropdown-toggle').dropdown();
    })
  //]]>

</script>

2 个答案:

答案 0 :(得分:0)

您始终可以将send_keys发送到元素。

答案 1 :(得分:0)

实际上它是直接的硒代码:

click    link="Change..."
pause 200
click //ul[contains(@id,'fruit-switcher')]//ul[contains(@class,'dropdown-menu')]/li[3]/a
click    link="Change..."
pause 600
click //ul[contains(@id,'fruit-switcher')]//a[contains(text(),'Bananas')]