Untitled
unknown
plain_text
2 years ago
2.8 kB
9
Indexable
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
public class FlipkartAutomation {
public static void main(String[] args) {
// Set the browser path
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
WebDriver driver = new ChromeDriver(); // or FirefoxDriver()
// Open Flipkart website
driver.get("https://www.flipkart.com/");
// Handle pop-ups (if any)
// Add appropriate code here
// Search for mobiles under 15000
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys("mobiles");
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("ac-row"))).click();
// Apply price filter and select OS version
WebElement priceFilter = driver.findElement(By.xpath("//div[@class='_1YoBfV']//select[@class='_2YxCDZ']"));
Select select = new Select(priceFilter);
select.selectByValue("10000");
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