1

単一のメソッドで複数の配列文字列を返す方法を提案してください:

public ArrayList<String> scraptable() throws InterruptedException {
    pui = new Polled(driver);
    ArrayList<String> firstname = new ArrayList<String>();
    ArrayList<String> lastname = new ArrayList<String>();
    ArrayList<String> email = new ArrayList<String>();

    WebElement usertable = pui.tbl_userlist;
    List<WebElement> allRows = usertable.findElements(By.tagName("tr"));

    for (int row = 1; row < allRows.size(); row++) {
        String Firstname = driver.findElement(
                By.xpath("//*[@id='tbUserList']/tbody/tr[" + row
                        + "]/td[2]")).getText();
        firstname.add(Firstname);

        String Lastname = driver.findElement(
                By.xpath("//*[@id='tbUserList']/tbody/tr[" + row
                        + "]/td[3]")).getText();
        lastname.add(Lastname);

        String Email = driver.findElement(
                By.xpath("//*[@id='tbUserList']/tbody/tr[" + row
                        + "]/td[4]")).getText();
        email.add(Email);           
    }
    return null;

firstname、、lastnameおよび配列文字列を返す必要がありemailます。複数の配列文字列を返すにはどうすればよいですか?

4

4 に答える 4

0

メソッドの署名を変更する必要があり、2 つの方法があります。

リストあり

public List<List<String>> scraptable() throws InterruptedException {
   List<List<String>> mainlist = new ArrayList<List<String>>();
   ArrayList<String> firstname = new ArrayList<String>();
   ArrayList<String> lastname = new ArrayList<String>();
   ArrayList<String> email = new ArrayList<String>();
    ---
    ---
    --
  mainlist.add(email);
  mainlist.add(lastname);
  mainlist.add(firstname);

次に、それらをメイン リストに追加して返します。

またはMapでも、これをお勧めします

public  Map<String, List<String>> scraptable() throws InterruptedException {

  Map<String, List<String>> mainlist = new HashMap<String, List<String>>();
      ArrayList<String> firstname = new ArrayList<String>();
      ArrayList<String> lastname = new ArrayList<String>();
      ArrayList<String> email = new ArrayList<String>();

      mainlist.put("email",email);
      mainlist.put("lastname",lastname);
      mainlist.put("firstname",firstname);

次に、このマップから次のように取得します。

 List<String> emailsList = mainlist.get("email");
于 2013-10-25T13:35:15.547 に答える
0

戻る

ArrayList< ArrayList < String>>

または、配列を含む Bean を作成して返します。

于 2013-10-25T13:35:49.847 に答える