如何定位具有相同id和xpath的元素

时间:2015-04-28 08:46:24

标签: selenium drop-down-menu ide

在我的表单中,下拉菜单中的所有选项都有相同的ID和xpath,我也尝试过给出值。在运行测试时,单击菜单按钮并显示列表(此时测试失败),但未获取并返回值。我收到错误“未找到UI活动菜单项”。有人可以解决这个问题吗? 在IDE中选择命令和WaitForElementPresent没有帮助。 请在Java中找到我的Webdriver编码:

    //clicked the list button
     driver.findElement(By.id("ctl00_cphWMContent_eddlWH_list_button")).click();
    //to select the option
    new Select(driver.findElement(By.xpath("html/body/ul[2]"))).selectByVisibleText("Option1");
    //wait to return the selected   
    Thread.sleep(1000);

1 个答案:

答案 0 :(得分:0)

xpath不是有限的也不是确定的属性。对象没有一个xpath,所以你声明你的元素有相同的xpath是对还是错!

所有按钮都有相同的xpath(//按钮),但所有按钮都有许多其他xpath,这些按钮将是唯一的。

此外,具有相同的元素  HTML ID实际上显示无效的HTML,因为w3c表示所有HTML ID必须是唯一的。因此,如果您确实有重复的ID,则在HTML无效时引发错误。