有没有办法将WebElement
类型的对象转换为硒中的By
?类型转换不起作用。
我有一个只接受By的功能,因此我需要将WebElement
转换为By
。
答案 0 :(得分:1)
如果您正在使用一个接受WebElement参数的方法,那么您可能会以一种效率低于通过选择器传递它的方式来考虑问题。 但是,这种方法应该满足您的要求。
// return ByType of WebElement
public By toByVal(WebElement we) {
// By format = "[foundFrom] -> locator: term"
// see RemoteWebElement toString() implementation
String[] data = we.toString().split(" -> ")[1].replace("]", "").split(": ");
String locator = data[0];
String term = data[1];
switch (locator) {
case "xpath":
return By.xpath(term);
case "css selector":
return By.cssSelector(term);
case "id":
return By.id(term);
case "tag name":
return By.tagName(term);
case "name":
return By.name(term);
case "link text":
return By.linkText(term);
case "class name":
return By.className(term);
}
return (By) we;
}
答案 1 :(得分:0)
这可能有所帮助。
span