java - 如何使用 selenium java 将表的内容写入 csv 文件?
问题描述
我有一个包含 150 多个内容的表格的网页。但并非所有数据都显示在一个页面中,即第一页仅显示 50 个内容,这样表格中的内容分为五页。所以我们首先我们必须从第一页获取表格中的内容,然后移动到第二页从表格中获取内容,依此类推.. 对于所有四个页面,并使用 selenium java 将这些内容写入 csv 文件。
因此,对于我已经尝试过此代码,使用此代码,我可以将所有数据从表中获取到 csv 文件,但我的问题是当我打开并检查 csv 文件时,表中的所有数据都附加在单个列中。我需要让这些数据与我的表相同,即行和列应该与表相同
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);
}
}
解决方案
推荐阅读
- angular - 在导航到 Angular 中的路线之前,函数没有检查条件
- python - 使用 Python 更改 Json 文件中的内部元组
- android - 使用 Camera2 API 时本地视频流不显示
- c# - C# WPF 标题栏按钮不适用于样式
- php - 如何从控制器中的视图刀片的 jQuery 循环中获取数据
- ios - iOS - 使用动态键解码嵌套 JSON
- react-native - 如果不在 Android 和 iOS 上的调试中,则会崩溃
- java - 从 Word (Docx) 读取方程式和公式到 html
- unix - How to colourise the text output in Standard ML?
- javascript - 将焦点设置到大型 svg 文档中的任何节点