在Selenium Java中解析Web定位器

时间:2017-10-11 10:00:56

标签: java selenium xpath css-selectors

我们可以在Selenium框架中编写一个类来识别用户传递的巫婆定位器吗? 这意味着。

public class ResolveLocator {
    static WebDriver driver;
    static String uiUsernameTXT =   "//input[@id='username']";

    public static WebElement ResolveLocatorL(String uiElement) {


        String checkLType = uiElement.toString();
        WebElement returnLType = null;

        switch (checkLType.charAt(0)) {
        case '/':  returnLType = driver.findElement(By.xpath(uiElement)); break;
        case 'c':  returnLType = driver.findElement(By.cssSelector(uiElement)); break;
        case 'i':  returnLType =driver.findElement(By.id(uiElement));; break;
        case 'l':  returnLType = driver.findElement(By.linkText(uiElement)); break;
        }

        return returnLType; 
    }
 }

如果用户将XPath作为定位器传递,则该类必须识别并返回正确的selenium代码块。

1 个答案:

答案 0 :(得分:0)

而不是charAt(0),我们可以使用命名约定轻松找到它

uiUsernameTXT_xpath= //so and so

因为我们正在写作字符串。用" _"分割字符串并去最后一个并返回位置类型。其他好用的操作员

static By uiUsernameTX=By.xpath(".//* so and so");