Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何为此编写通用函数?_Java - Fatal编程技术网

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

Java:如何为此编写通用函数?,java,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")).getTex

如何为这些编写一个单一的通用?我的意思是函数应该获取参数并返回所需的字符串

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();
    }
谢谢

您可以尝试以下方法:

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));

这似乎比其他人的回答更容易,所以我要冒这个险。然后说,这有什么不对

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));

你能为你要找的东西写些sudo代码吗?我不清楚这个问题。编辑了这个问题。你有什么对象可以用来存储这些信息吗?如果您不需要(或者出于某种原因您认为不需要),那么您所拥有的可能很好。稍后,我会将信息保存在json对象/文件中。我只需要一个函数,因为除了byXpath,还有byClass;还有其他类型,如byCss等。我不想为这些类型编写单独的函数。然后您可以编写另一个函数,查看它得到的字符串表达式,并将其分派到相应的函数。