排序价格和分页

时间:2016-08-14 14:37:03

标签: selenium-webdriver

我总共有97页用于所有页面我需要对价格进行排序,在排序当前页面的价格后需要点击下一步同样需要做到直到下一步按钮看不见,为此我写了脚本但是我错了输出如果价格上涨Rs9.00到Rs10.00或Rs99.00到Rs100.00 或类似的东西。
请查看以下脚本并帮助我解决它< / p>

public class SortingItems extends WebDriverCommonLib
{
Select select;
@Test
public void pagination() throws InterruptedException

{       
Driver.driver.get("http://....");
Driver.driver.manage().window().maximize();
Driver.driver.findElement(By.id("auth_Username")).sendKeys("Test");
Driver.driver.findElement(By.id("auth_Password")).sendKeys("Test");
Driver.driver.findElement(By.xpath("//input[@type='submit']")).click();
WebDriverWait wait = new WebDriverWait(Driver.driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='submit-form']//i[@class='fa fa-search']")));
        Driver.driver.findElement(By.xpath("//a[@class='submit-form']//i[@class='fa fa-search']")).click();
        select = new Select(Driver.driver.findElement(By.name("product-sort")));
        select.selectByVisibleText("Price - Low to High");
        Thread.sleep(1000);

        WebElement TxtBoxContent = Driver.driver.findElement(By.xpath("//html/body/form/section/div/div/div[2]/div[3]/ul/li[6]/a"));
        int number = Integer.parseInt(TxtBoxContent.getText()); 
        if(number>1)
        {   
        System.out.println("pagination exists: "+number);

        // click on pagination link
        for(int i=1; i<=number; i++)
        {
        try
        {
System.out.println("Page "+i);
            List<WebElement> price = Driver.driver.findElements(By.xpath("//span[@class='find_prices']"));
            List<String> prices = new ArrayList<String>();
            for (WebElement e : price)
            {
                prices.add(e.getText());
            }
            List<String> sortedPrices = new ArrayList<String>(prices);
            System.out.println(sortedPrices);
            Collections.sort(sortedPrices);

            // true if the prices are sorted
            System.out.println(sortedPrices.equals(prices));

        WebElement scroll = Driver.driver.findElement(By.xpath("//a[@class='next page-numbers']"));
        scroll.sendKeys(Keys.PAGE_DOWN);
        Driver.driver.findElement(By.xpath("//a[@class='next page-numbers']")).click() ;
        waitForPageToLoad();
        }
        catch(Exception e){
        e.printStackTrace();
        }
        }
        //Driver.driver.quit();
        }
        else
        {
        System.out.println("pagination not exists");
        }
        }       
        }

**Output**<br/>
分页存在:97
第1页 [4.00,5.00,5.00,5.00,5.00,5.00,5.00,5.00,5.00,5.00,5.00,5.00,5.00,5.00,6.00,6.00,6.00,6.00,6.00,6.00,6.00,6.00,6.00,7.00] <登记/> 真

Page 2
[7.00,7.00,8.00,8.00,8.00,8.00,8.00,8.00,8.00,8.00,8.00,8.00,9.00,9.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00] <登记/> 的

Page 3
[10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00]登记/> 真正



。 第37页 [99.00,99.00,99.00,99.00,99.00,99.00,99.00,99.00,99.00,99.00,99.00,99.00,99.00,100.00,100.00,100.00,100.00,100.00,100.00,100.00,100.00,100.00,100.00,100.00] <登记/> 的



第84页 [590.00,590.00,590.00,590.00,590.00,595.00,595.00,595.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00,600.00] <登记/> 真正



1 个答案:

答案 0 :(得分:0)

您可能不需要集合排序来检查列表是否已排序。获取变量以存储页面上最后一个条目的值。将变量与页面上当前条目的值进行比较。如果页面上的当前条目大于或等于最后一个条目,那么您就是好的,否则列表不会被排序。