gpt4 book ai didi

java - Selenium Web 表 java.lang.IndexOutofBoundsException : Index: 1, 大小:1

转载 作者:行者123 更新时间:2023-12-02 03:15:36 25 4
gpt4 key购买 nike

我需要在网络表中获取选择标签和输入标签,为此我创建了以下代码来获取网络表中的标签名称。

为此

  1. 创建了一个元素列表以获取表中的行数。
  2. 将变量声明为“i”以进行循环。
  3. 在每行中查找 Select 标记以发送表中的输入。如果行中存在 Select 标记,则传递输入值,否则在 Web 表中传递不同的值。
// web Table
WebElement table =d.findElement(By.xpath("//*[@id='ui-grid']/div/div/div/div[2]/table/tbody"));
List<WebElement> trcount = table.findElements(By.tagName("tr"));
int size = trcount.size();
System.out.println(size);

//Using size created the for loop to find each row available in table.
for(int i=1;i<size;i++) {

//Declare the Xpath to find the particular row
By tag = By.xpath("(//*[@id='ui-grid']/div/div/div/div[2]/table/tbody/tr/td/span/select)["+i+"]");
By Input_tag = By.xpath("(//*[@id='ui-grid']/div/div/div/div[2]/table/tbody/tr/td/span/input)["+i+"]");
List<WebElement> tdcount = trcount.get(i).findElements(tag);
String tag1 = tdcount.get(i).getTagName();
System.out.println(tag1);

if(tag1.equals("select")){
d.findElement(By.xpath(tag))Select level = new Select(d.FindElement(tag));
level.selectByVisibleText("YES");

}else {
d.findElement(Input_tag).sendKeys("12");

}

}
<小时/>

预期结果: 如果 Web 表存在选择选项卡,则应从下拉列表中选择值,否则应传递输入标记存在值。

实际结果: java.lang.IndexOutOfBoundsException:索引:1,大小:1

最佳答案

//Get the number of count in web table. 
WebElement table =d.findElement(By.xpath("//*[@id='ui-grid']/div/div/div/div[2]/table/tbody"));
List<WebElement> trcount = table.findElements(By.tagName("tr"));
int size = trcount.size();

System.out.println(size);

//Select particular tag(Select tag)
List<WebElement> Select = table.findElements(By.xpath("//*[@id='ui-grid']/div/div/div/div[2]/table/tbody/tr/td/span/select"));
int select_size = Select.size();
System.out.println(select_size);
//If web table have select tag perfrom below else to catch no search elements exceptions.
try{
for(int j=1;j<=select_size;j++) {
By tag = By.xpath("(//*[@class='ng-star-inserted']/span/select)["+j+"]");
System.out.println("Test");

}
}catch(Exception e){
System.out.println((e.getMessage()));
}
//Select particular tag(Input tag)
List<WebElement> Select1 = table.findElements(By.xpath("//*[@id='ui-grid']/div/div/div/div[2]/table/tbody/tr/td/span/input"));
int select_input = Select1.size();
System.out.println(select_input);
try{
for(int i=1;i<=select_input;i++) {
By tag1 = By.xpath("(//*[@class='ng-star-inserted']/span/input)["+i+"]");

System.out.println("Test");

d.findElement(tag1).sendKeys("12345");
Thread.sleep(3000);
//d.findElement(Accept_button).click();

}
}catch(Exception e){
System.out.println((e.getMessage()));
}

关于java - Selenium Web 表 java.lang.IndexOutofBoundsException : Index: 1, 大小:1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56963857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com