Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Sunshine And March Vibes (2025 Wallpapers Edition)

      May 16, 2025

      The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks

      May 16, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      May 16, 2025

      How To Prevent WordPress SQL Injection Attacks

      May 16, 2025

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025

      Bing Search APIs to be “decommissioned completely” as Microsoft urges developers to use its Azure agentic AI alternative

      May 16, 2025

      Microsoft might kill the Surface Laptop Studio as production is quietly halted

      May 16, 2025

      Minecraft licensing robbed us of this controversial NFL schedule release video

      May 16, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      The power of generators

      May 16, 2025
      Recent

      The power of generators

      May 16, 2025

      Simplify Factory Associations with Laravel’s UseFactory Attribute

      May 16, 2025

      This Week in Laravel: React Native, PhpStorm Junie, and more

      May 16, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025
      Recent

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025

      Bing Search APIs to be “decommissioned completely” as Microsoft urges developers to use its Azure agentic AI alternative

      May 16, 2025

      Microsoft might kill the Surface Laptop Studio as production is quietly halted

      May 16, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»I am automating coop website and I’m facing problem while customizing XPath for add to cart button

    I am automating coop website and I’m facing problem while customizing XPath for add to cart button

    August 1, 2024

    I have customized an XPath for adding a product which has discount 30% for 2. Now I am facing problem while adding this into the cart.

    package sample;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.concurrent.TimeUnit;

    import org.openqa.selenium.By;
    import org.openqa.selenium.JavascriptExecutor;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;

    public class Coop_angebote {

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

    System.setProperty(“webdriver.chrome.driver”,”C:\Chrome\chromedriver.exe”);
    ChromeOptions options = new ChromeOptions();
    Map<String, Object> prefs = new HashMap<String, Object>();
    prefs.put(“credentials_enable_service”, false);
    prefs.put(“password_manager_enabled”, false);
    options.setExperimentalOption(“prefs”, prefs);
    options.addArguments(“start-maximized”);
    options.addArguments(“disable-infobars”);
    WebDriver driver = new ChromeDriver(options);
    driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);

    // For Login Functionality

    driver.get(“https://www.coopathome.ch/de?lang=de”);
    driver.findElement(By.xpath(“html/body/div[2]/div/div[2]/nav[2]/div/ul/li[2]/a[1]/span”)).click();
    Thread.sleep(2000);
    driver.findElement(By.xpath(“html/body/div[1]/div[2]/div/div/div/div/div/div/form/div[3]/div/div/input”)).sendKeys(“USERNAME”);
    driver.findElement(By.xpath(“html/body/div[1]/div[2]/div/div/div/div/div/div/form/div[4]/div[2]/div/input”)).sendKeys(“PASSWORD”);
    driver.findElement(By.xpath(“html/body/div[1]/div[2]/div/div/div/div/div/div/form/div[6]/button”)).click();
    Thread.sleep(2000);
    driver.findElement(By.xpath(“html/body/div[3]/div/div[2]/div[2]/header/a”)).click();
    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript(“window.scrollBy(0,800)”, “”);

    Thread.sleep(1000);

    JavascriptExecutor jse1=(JavascriptExecutor)driver;
    jse1.executeScript(“window.scrollBy(0,400)”, “”);

    Thread.sleep(1000);

    JavascriptExecutor jse2=(JavascriptExecutor)driver;
    jse2.executeScript(“window.scrollBy(0,800)”, “”);

    Thread.sleep(1000);

    JavascriptExecutor jse3=(JavascriptExecutor)driver;
    jse3.executeScript(“window.scrollBy(0,800)”, “”);

    Thread.sleep(1000);

    JavascriptExecutor jse4=(JavascriptExecutor)driver;
    jse4.executeScript(“window.scrollBy(0,800)”, “”);

    Thread.sleep(1000);

    JavascriptExecutor jse5=(JavascriptExecutor)driver;
    jse5.executeScript(“window.scrollBy(0,250)”, “”);

    Thread.sleep(1000);

    JavascriptExecutor jse6=(JavascriptExecutor)driver;
    jse6.executeScript(“window.scrollBy(0,250)”, “”);

    //driver.findElement(By.xpath(“//*[contains(text(),’30% ab 2′)]”)).click();

    List<WebElement> var=driver.findElements(By.xpath(“//*[contains(text(),’30% ab 2′)]”));
    System.out.println(var.size());

    for(int i = 0;i<=var.size();i++){

    List<String> li = new ArrayList<String>();
    var.get(i).getText().trim();
    System.out.println(“ACTUAL:'”+ var.get(i).getText().trim() + “‘”);
    if(var.get(i).getText().trim().equals(“30% ab 2”))
    {
    driver.findElement(By.xpath(“//*[@class=’btn__inner’]”)).click();
    Thread.sleep(1000);
    System.out.println(“IN iF:”);
    }

    Source: Read More

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleTestNG with Eclipse: How to add main class?
    Next Article Arcee AI Released DistillKit: An Open Source, Easy-to-Use Tool Transforming Model Distillation for Creating Efficient, High-Performance Small Language Models

    Related Posts

    Machine Learning

    Salesforce AI Releases BLIP3-o: A Fully Open-Source Unified Multimodal Model Built with CLIP Embeddings and Flow Matching for Image Understanding and Generation

    May 16, 2025
    Security

    Nmap 7.96 Launches with Lightning-Fast DNS and 612 Scripts

    May 16, 2025
    Leave A Reply Cancel Reply

    Hostinger

    Continue Reading

    Why you need a data backup plan for your Mac or PC – before disaster strikes

    News & Updates

    These experts believe AI can help us win the cybersecurity battle

    Development

    NVIDIA unveils next-gen AI tech at Computex 2024 in Taiwan

    Artificial Intelligence

    Ukrainian Institutions Targeted Using HATVIBE and CHERRYSPY Malware

    Development

    Highlights

    How to Sandbox Linux Apps with Firejail and Bubblewrap

    May 8, 2025

    In this guide, we will learn how to sandbox Linux apps with Firejail and Bubblewrap.…

    How to Do Hotword Detection with Streaming Speech-to-Text and Go

    June 25, 2024

    5-Day Swift Coding Challenge

    April 6, 2025

    The new Beats Powerbeats Pro 2 can measure your heart rate as you exercise

    February 11, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.