Estoy tratando de imprimir todos los nombres de productos de un sitio web de comercio electrónico en selenio usando Java, pero solo imprime el primer nombre del producto de la primera clase que encuentra. ¿Cómo imprimir todos los nombres de productos de todas las clases con el mismo nombre de clase?
Este es mi código:
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] + ""); } } }Puede usar lo siguiente para imprimir el nombre de todos los productos
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); }