如何在selenium webdriver中添加动态创建的HTML的类名

时间:2014-01-27 12:44:11

标签: selenium

以下代码是动态生成的HTML。如何使用类名读取它并单击li元素?

我想从以下城市列表中选择“Pandharpur”:

<ul class="ui-autocomplete ui-menu ui.-widget ui-widget-content ui-corner-all" role="listbox" aria-activedescendant="ui-active-menuitem" style="z-index: 1; top: -1018.18px; left: 667px; display: block; position: relative; width: 201px;">
  <li class="ui-menu-item" role="menuitem">
    <a class="ui-corner-all" tabindex="-1">Kumarganj</a>
  </li>
  <li class="ui-menu-item" role="menuitem">
    <a class="ui-corner-all" tabindex="-1">Bitkewadi</a>
  </li>
  <li class="ui-menu-item" role="menuitem">
    <a class="ui-corner-all" tabindex="-1">Imampur</a>
  </li>
  <li class="ui-menu-item" role="menuitem">
    <a class="ui-corner-all" tabindex="-1">Pandharpur</a>
  </li>
  <li class="ui-menu-item" role="menuitem">
    <a class="ui-corner-all" tabindex="-1">Malichinchora</a>
  </li>
  <li class="ui-menu-item" role="menuitem">
    <a class="ui-corner-all" tabindex="-1">Pimpri Nirmal</a>
  </li>
</ul>

2 个答案:

答案 0 :(得分:0)

driver.findElement(By.xpath("//*[contains(@class,'ui-menu-item')]/a[text()=\"Pandharpur\"]")).click();

答案 1 :(得分:0)

第1步: 使用给定的DOM结构,我们可以为Pandgarpur派生CSS选择器

css=li.ui-menu-item > a:contains('Pandharpur')

第2步:

执行方法

driver.findElement(
    By.cssSelector("li.ui-menu-item > a:contains('Pandharpur')"))
      .click();

点击它。