【问题标题】:Selenium - how to have a script use an ajax control drop-downSelenium - 如何让脚本使用 ajax 控件下拉菜单
【发布时间】:2013-02-13 21:32:07
【问题描述】:

我已经在产品中使用 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>

【问题讨论】:

标签: html ajax drop-down-menu selenium


【解决方案1】:

您可以随时向元素发送_keys。

【讨论】:

    【解决方案2】:

    实际上是直接的 selenium 代码:​​

    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')]
    

    【讨论】:

      猜你喜欢
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 2014-02-20
      • 2018-10-30
      相关资源
      最近更新 更多