如何单击标签元素文本

时间:2013-08-13 07:24:44

标签: java html webdriver

我的代码是这样的..

<ul class="sb_dropdown" style="display: none;">
 <li id="sb_up_arrow" class="uiebatesca"/>
  <li>
  <label data-search-for="all">
    <strong>All</strong>
  </label>
 </li>
 <li style="background-color: transparent;">
   <label data-search-for="Automotive">Stores</label>
  </li>
  <li>
   <label data-search-for="Beauty">Deals</label>
  </li>
 </ul>
</form>

现在我想通过使用带有java的webdriver来选择Stores 我尝试使用:

List<WebElement> elementsList = driver.findElements(By.xpath("//form[@id='ui_element']/ul/li"));
Select ddvalues=new Select(elementsList.get(1)); 
ddvalues.selectByIndex(1);

但这不起作用......

是否有其他方法可以选择此Stores

我尝试使用此代码集中移动到“商店”标签......

Actions builder = new Actions(driver);      
builder.moveToElement(elementsList.get(i)).perform();
elementsList.get(i).click();

但这也行不通......

1 个答案:

答案 0 :(得分:0)

我假设通过“选择”,您需要点击“商店”标签。正如其他人所指出的那样,使用new Select()选择项目是行不通的,因为它期望元素成为元素。

您可以使用以下方式“选择”“商店”标签:

IWebElement element = driver.findElement(By.xpath("//label[text()='Stores'])"));
element.click();