[英]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.