【发布时间】:2015-11-17 12:26:49
【问题描述】:
在某些情况下,我可以通过使用相对 xpath 来识别元素,作为回报,我需要获取元素的绝对 xpath(从根)。所以我想知道硒中是否有这样的方法。如果您知道任何替代方案,您也可以建议我。
【问题讨论】:
-
你能举个例子吗?
标签: java selenium xpath selenium-webdriver xpath-2.0
在某些情况下,我可以通过使用相对 xpath 来识别元素,作为回报,我需要获取元素的绝对 xpath(从根)。所以我想知道硒中是否有这样的方法。如果您知道任何替代方案,您也可以建议我。
【问题讨论】:
标签: java selenium xpath selenium-webdriver xpath-2.0
是的,我认为 ByChanged 可以提供帮助。
By locatorBase = By.xpath("./div/div[contains(@class,'listRoot')]";
By relativeLocator = getNthZElementLocator("2");
ByChanged chainedLocator = new ByChained(locatorBase, relativeLocator);
而且,您可以对我上面显示的内容进行更改,以完成您需要的任何事情。
String XPATH_Z_ELEMENT_STRING = ".//ul/li[%s]";
public By getNthZElementLocator(String replaceArg)
{
return By.xpath(String.format(XPATH_Z_ELEMENT_STRING, replaceArg));
}
【讨论】: