Java:如何为此编写通用函数?

时间:2016-02-15 02:49:08

标签: java

如何为这些写一个广义的?我的意思是函数应该接受参数并返回所需的字符串。

String fullName = driver.findElement(By.className("full-name")).getText();
String title = driver.findElement(By.className("title")).getText();
String locality = driver.findElement(By.className("locality")).getText();
String industry = driver.findElement(By.className("industry")).getText();
String connections = driver.findElement(By.xpath("//div[@class='member-connections']/strong")).getText();
String profileLink = driver.findElement(By.className("view-public-profile")).getText();

该功能应该是这样的:

String getInfo(String className, String byType) {
     return driver.findElement(By.byType(className)).getText();
}

编辑:

我已编写此函数,但我不知道如何使用By附加byType。

static String getInfo(WebDriver driver, String byType, String byParam) {
        return driver.findElement(By. + byType + (byParam)).getText();
    }

谢谢!

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

public String byXpath(String xpath) {
  return driver.findElement(By.xpath(xpath)).getText();
}

public String byClass(String $class) {
  return driver.findElement(By.className($class)).getText();
}

<强>编辑:

public String by(By by) {
    return driver.findElement(by).getText();
}

String x = by(By.className(name));
String y = by(By.xpath(path));

答案 1 :(得分:1)

这似乎比其他人更容易回答,所以我要把我的脖子放在线上。并说,这有什么不对......

public String get(WebDriver driver, By by) {
    return driver.findElement(by).getText();
}

..并使用它... ...

String a = get(urDriver, By.className(someName));
String b = get(urDriver, By.xpath(somePath));
相关问题