我想通过点击所有页面来显示所有公司名称。
下面是我的示例代码:@Test(priority=2)
public void fetchdata() {
java.util.List<WebElement> companyname = driver.findElements(By.xpath("/html/body/div[3]/div[2]/div/div/div/div[1]/div[1]/h3/a/div"));
for (WebElement comapany : companyname) {
System.out.println(comapany.getText());
}
boolean nextbutton = driver.findElement(By.xpath("//a[text()='Next']")).isEnabled();
if (nextbutton == true) {
WebElement next = driver.findElement(By.xpath("//a[text()='Next']"));
next.click();
}
}
试试这段代码,这段代码应该可以根据你的需要工作。
List<WebElement> companyname = driver.findElements(By.xpath("/html/body/div[3]/div[2]/div/div/div/div[1]/div[1]/h3/a/div"));
List<String> names = new ArrayList<String>();
for (WebElement company: companyname)
{
names.add(company.getText());
}
boolean nextbutton = driver.findElement(By.xpath("//a[text()='Next']")).isEnabled();
String btnNextClassName = nextbutton.getAttribute("class");
while(!btnNextClassName.contains("disabled"))
{
nextbutton.click();
companyname = companyname;
for (WebElement company: companyname)
{
names.add(company.getText());
}
}
for(String n : names)
{
System.out.println(n);
}
int totalNames = names.size();
System.out.println(totalNames);