java - 如何存储列表中多个项目的全局数组以供以后使用

标签 java html selenium arraylist

我有我的 Selenium 代码,它可以提取列表中可用名称的列表。 现在我想存储与全局相同的名称以供以后使用。请帮忙。

我尝试过数组过程,它只对每一行提取 true,但不提取值。

List<WebElement> allText = driver.findElements(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3]/td/table/tbody/tr"));

int total = allText.size();
System.out.println(total);

for(int i=3;i<=total;i++)
{
     CaselevelSigningCMs =driver.findElement(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3]/td/table/tbody/tr"+"["+i+"]"+"/td[2]")).getText();
     System.out.println(CaselevelSigningCMs);

}

我应该得到如下名称:Ranjit Nyk、Sudhanva G....我必须在其他类/方法的其他页面中验证这些名称。 CaselevelSigningCMs 是一个全局变量,它仅提取单个项目。我需要定义为全局的类似数组,以便它可以提取多个项目。

CaselevelSigningCMs =driver.findElement(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3 ]/td/table/tbody/tr"+"["+i+"]"+"/td[2]")).getText();

最佳答案

看看这个 String CaselevelSigningCMs 是如何定义的。就像 ArrayList 一样

假设所使用的字符串是在类似的地方定义的

 public String CaselevelSigningCMs = "";

类似地定义ArrayList

 public List<String> collectedItems=new ArrayList<>();

在循环中添加获取每个元素的文本,类似于

 collectedItems.add(driver.findElement(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3]/td/table/tbody/tr"+"["+i+"]"+"/td[2]")).getText());

关于java - 如何存储列表中多个项目的全局数组以供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56746908/

相关文章:

html - 使用 CSS 设计列表样式

javascript - 在内存中创建并显示或更改实时元素

javascript - <选项> Mobile Safari 中的事件 <选择> 列表>

java - Selenium 与 Jbehave 和 Chromedriver 挂起或崩溃

java - SOAP 始终是 JAX-WS 服务中的消息编码吗?

java - 无法通过 Apache Tomcat 访问网络文件夹

java - 异常 : The path to the driver executable must be set by the webdriver. chrome.driver 系统属性;使用远程 WebDriver

java - 错误无法找到或加载主类-eclipse?

java - 不幸的是 Sunshine 应用程序无法正常工作

java - 寻找简单的解决方案来分析方法