簡體   English   中英

如何在硒webdriver中找到產品的原價和折扣價差

[英]How to find original and discount price difference of product in selenium webdriver

我試圖找出電子商務網站上任何產品的原價和折扣價之間的區別。 您能建議我如何計算嗎?
價格的HTML代碼如下:

 <html>
<ul class="pricing ng-scope" ng-if="activeColour.colourCode == '133290-LT-GREY'">
    <li class="price previous">
    <del>£99</del>
    </li>
    <li class="price unit">£69</li>
    </ul>
<html>

==============================================
代碼以找出價格差異大於50的產品並將其添加到購物車

Actions act=new Actions(driver);
WebElement Category=driver.findElement(By.xpath(".//*[@id='categories_nav']/li[1]/a"));
       WebElement Sales_clothng=driver.findElement(By.xpath(".//*[@id='categories_nav']/li[1]/nav/div[1]/div[3]/ul[1]/li[3]/a"));
         act.moveToElement(Category).moveToElement(Sales_clothng).click().build().perform();
       Thread.sleep(2000);
          List<WebElement> Product_list=driver.findElements(By.xpath(".//*[@class='name']"));
                for (WebElement items_product : Product_list)
        {
            System.out.println(items_product.getText());

            }
       System.out.println("Originanal Price of items");
       List<WebElement> Original_price=driver.findElements(By.xpath(".//*[@class='price previous']"));
       System.out.println(Original_price.size());
          for(int i=0;i<Original_price.size();i++)
       {
               List<String> Original_price_lst = new ArrayList<String>();
           Original_price_lst.add(Original_price.get(i).getText());
           System.out.println(Original_price.get(i).getText());
             }
          System.out.println("Discounted Price of items");
       List<WebElement> Discounted_price=driver.findElements(By.xpath(".//*[@class='price unit']"));
       System.out.println(Discounted_price.size());
       for(int i=0;i<Original_price.size();i++)
       {
               List<String> Discounted_price_lst = new ArrayList<String>();
           Discounted_price_lst.add(Discounted_price.get(i).getText());
           System.out.println(Discounted_price.get(i).getText());
       }
      for(int i=0;i<Discounted_price.size();i++)
      {
          List<String> Original_price_lst_1 = new ArrayList<String>();
          List<String> Discounted_price_lst_1 = new ArrayList<String>();
          String original_price_removecurrencysymbol = Original_price.get(i).getText().substring(1,Original_price.get(i).getText().length());
           String discount_price_removecurrencysymbol = Discounted_price.get(i).getText().substring(1,Discounted_price.get(i).getText().length());
          System.out.println(original_price_removecurrencysymbol);
          System.out.println(discount_price_removecurrencysymbol);
          int difference = Integer.parseInt(original_price_removecurrencysymbol) -Integer.parseInt(discount_price_removecurrencysymbol);
            System.out.println("Difference is:"+difference);
                    if(difference>=50)
            {
                        driver.findElement(By.xpath(".//*[@class='name']")).click();
                         driver.findElement(By.xpath("//input[contains(@class,'add_to_cart')]")).click();
            }
      }
            }       
    }

在單獨的變量中獲取價格,即原始價格和折扣,然后將它們轉換為整數。轉換為整數之前,您還需要先刪除貨幣符號。現在,您可以將兩者都減去以得到差額。

一支班輪。

 int diff =Integer.parseInt(driver.findElement(By.xpath(".//*[@id='content']/div/div[4]/div[2]/div[2]/article/div[2]/header/div/ul/li[1]/del")).getText().substr(1))-Integer.parseInt(driver.findElement(By.className("price unit").getText()substr(1)));

工作代碼:

        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.tedbaker.com/uk/Womens/Sale/Accessories/Bags/c/sale_bags");

        String original_price = driver.findElement(By.xpath(".//*[@id='content']/div/div[4]/div[2]/div[2]/article/div[2]/header/div/ul/li[1]/del")).getText();
        String discount_price = driver.findElement(By.xpath(".//*[@id='content']/div/div[4]/div[2]/div[2]/article/div[2]/header/div/ul/li[2]")).getText();

        System.out.println(original_price);
        System.out.println(discount_price);

        String original_price_removecurrencysymbol = original_price.substring(1,original_price.length());
        String discount_price_removecurrencysymbol = discount_price.substring(1,discount_price.length());

        System.out.println(original_price_removecurrencysymbol);
        System.out.println(discount_price_removecurrencysymbol);

        int difference = Integer.parseInt(original_price_removecurrencysymbol) -Integer.parseInt(discount_price_removecurrencysymbol);

        System.out.println("Difference is:"+difference);

暫無
暫無

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

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