Untitled
unknown
plain_text
2 years ago
2.7 kB
3
Indexable
package MiniProject; import java.time.Duration; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.Select; import org.openqa.selenium.support.ui.WebDriverWait; import io.github.bonigarcia.wdm.WebDriverManager; public class FlipkartAutomation { public static void main(String[] args) { // TODO Auto-generated method stub //Launching the Chrome Browser WebDriverManager.chromedriver().setup(); ChromeDriver driver=new ChromeDriver(); driver.get("https://www.flipkart.com/"); WebElement searchBox=driver.findElement(By.name("q")); //Search for mobiles under 15000 searchBox.sendKeys("mobiles"); WebDriverWait wait=new WebDriverWait(driver,Duration.ofSeconds(10)); wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/div[3]/div/span"))).click(); //Apply price filter and select OS version WebElement priceFilter = driver.findElement(By.xpath("//div[text()='Operating System']//following-sibling::div//input")); WebElement osVersion = driver.findElement(By.xpath("//div[text()='Operating System']//following-sibling::div//input")); osVersion.sendKeys("Pie"); //Sort by newest first WebElement sortDropdown=driver.findElement(By.className("Z3mXg")); Select sortBy=new Select(sortDropdown); sortBy.selectByVisibleText("Newest First"); //Display first five mobiles' Name and Price for(int i=1;i<=5;i++) { WebElement mobileName = driver.findElement(By.xpath("(//div[@class='_4rR01T'])[" + i + "]")); WebElement mobilePrice = driver.findElement(By.xpath("(//div[@class='_30jeq3 _1_WHN1'])[" + i + "]")); System.out.println("Mobile " + i + " - Name: " + mobileName.getText() + ", Price: " + mobilePrice.getText()); } //Validate first mobile's price<30000 WebElement firstMobilePrice = driver.findElement(By.xpath("(//div[@class='_30jeq3 _1_WHN1'])[1]")); String priceString = firstMobilePrice.getText().replaceAll("[^0-9]", ""); // Remove non-numeric characters int price = Integer.parseInt(priceString); if (price < 30000) { System.out.println("First mobile price is less than Rs. 30000"); } else { System.out.println("First mobile price is not less than Rs. 30000"); } // Close the browser driver.quit(); } }
Editor is loading...
Leave a Comment