如何定位具有相同 id 和 xpath 的元素
How to locate the elements which has same id and xpath
在我的表单中,下拉菜单中的所有选项都具有相同的 ID 和 xpath,我也尝试提供值。 运行 测试时,单击菜单按钮并显示列表(此时测试失败)但未获取并返回值。我收到错误 "UI active menu Item not found"。有人能解决这个问题吗?
Select 命令和 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);
xpath 既不是有限的也不是确定的 属性。一个对象没有一个xpath,所以你说你的元素有相同的xpath是对也是错!
所有按钮都有相同的 xpath (//button) 但所有按钮都有许多其他 xpath,其中一些将是唯一的。
此外,具有相同元素的元素
HTML ID 实际上显示无效 HTML,因为 w3c 表示所有 HTML ID 必须是唯一的。因此,如果您确实有重复的 ID,请提出错误,因为 HTML 无效。
在我的表单中,下拉菜单中的所有选项都具有相同的 ID 和 xpath,我也尝试提供值。 运行 测试时,单击菜单按钮并显示列表(此时测试失败)但未获取并返回值。我收到错误 "UI active menu Item not found"。有人能解决这个问题吗? Select 命令和 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);
xpath 既不是有限的也不是确定的 属性。一个对象没有一个xpath,所以你说你的元素有相同的xpath是对也是错!
所有按钮都有相同的 xpath (//button) 但所有按钮都有许多其他 xpath,其中一些将是唯一的。
此外,具有相同元素的元素 HTML ID 实际上显示无效 HTML,因为 w3c 表示所有 HTML ID 必须是唯一的。因此,如果您确实有重复的 ID,请提出错误,因为 HTML 无效。