Как записать содержимое таблицы в CSV-файл, используя selenium java? - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть веб-страница с таблицей, которая содержит более 150 содержимого. Но не все данные отображаются на одной странице ie На первой странице отображается только 50 содержимого, например, содержимое таблицы разделено на пять страниц. Итак, сначала мы должны получить содержимое таблицы с первой страницы, затем перейти ко второй странице, получить содержимое таблицы и т. Д. Для всех четырех страниц и записать это содержимое в CSV-файл, используя selenium java. * 1001. *

Итак, поскольку я попробовал этот код, с помощью этого кода я могу получить все данные из таблицы в файл CSV, но моя проблема заключается в том, что когда я открываю и проверяю файл CSV, все данные в таблице добавляются в один столбец. Мне нужно, чтобы эти данные были такими же, как в моей таблице ie строки и столбцы должны быть такими же, как в таблице

public static void main(String[] args) throws IOException, InterruptedException {

  System.setProperty("webdriver.chrome.driver", "Driver path");
  WebDriver driver = new ChromeDriver();
  driver.manage().window().maximize();
  driver.get("Page URL");
  WebDriverWait Wait = new WebDriverWait(driver, 30);
  WebElement table = Wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("table-container-inner"))); //getting data from table in first page
  String dataoutput;
  dataoutput = table.getText();
  System.out.println(dataoutput);
  driver.findElement(By.xpath("//a[@aria-label='Next']")).click(); // here i am moving on to next page by clicking next option
  WebElement table1 = Wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("table-container-inner")));
  String dataoutput1 = table1.getText();
  System.out.println(dataoutput1);
  driver.findElement(By.xpath("//a[@aria-label='Next']")).click();
  WebElement table2 = Wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("table-container-inner")));
  String dataoutput2 = table2.getText();
  System.out.println(dataoutput2);
  driver.findElement(By.xpath("//a[@aria-label='Next']")).click();
  WebElement table3 = Wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("table-container-inner")));
  String dataoutput3 = table3.getText();
  System.out.println(dataoutput3);

  String tableoutput = dataoutput + dataoutput1 + dataoutput2 + dataoutput3;

  String csvOutputFile = "table.csv";

  try (FileWriter writecsv = new FileWriter("C:\\Natesh\\Automation\\table.csv")) {
   writecsv.append(tableoutput);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...