簡體   English   中英

從具有相同 class 名稱的多個元素打印多個文本

[英]Print multiple texts from multiple elements with same class name

我試圖使用 java 從 selenium 的電子商務網站打印所有產品名稱,但它只打印它找到的第一個 class 中的產品的名字。 如何打印具有相同 class 名稱的所有類的所有產品名稱?

這是我的代碼:

package introduction;

import java.time.Duration;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Getproductnames {

    private static int i;

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

        // TODO Auto-generated method stub

        System.setProperty("webdriver.chrome.driver", "D:/Temp/chromedriver.exe");

        WebDriver driver = new ChromeDriver();

        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));
        driver.get("https://www.fipola.in/chicken");
        driver.findElement(By.id("DelLocation")).sendKeys("600020");
        driver.findElement(By.className("top_pincode_select")).click();

        Thread.sleep(3000);

        List<WebElement> products=driver.findElements(By.cssSelector("a.product-item-link"));

        for(int i=0; i<products.size(); i++);
        {
            String[] names = new String[]{products.get(i).getText()};
            System.out.println(names[i] + "");
        }
    }
}

您可以使用下面的打印所有產品名稱

List<WebElement> products=driver.findElements(By.cssSelector("a.product-item-link"));


for(int i =0;i<products.size();i++) {
 String elementText = products.get(i).getText(); 
 System.out.println(elementText); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM