Как я могу напечатать случайно выбранное значение индекса? - PullRequest
0 голосов
/ 26 декабря 2018

Я не могу напечатать значение, выбранное случайным образом из раскрывающегося списка, например, если я выбрал индекс 4, а значение индекса 4 равно «ABC», значит, оно печатает 4, а не ABC.Не могли бы вы помочь мне найти решение этой проблемы?

Я пытался преобразовать индекс в строку, но это не сработало

public class SC {

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

System.setProperty("webdriver.chrome.driver", "C:\\Users\\Dell\\Downloads\\chromedriver_win32 (2)\\chromedriver.exe");
        WebDriver driver=new ChromeDriver();
        driver.manage().window().maximize();
        driver.get("http://website name");
        JavascriptExecutor js = (JavascriptExecutor) driver;


FileInputStream fis=new FileInputStream("C:\\Excel_data\\Testdata.xlsx");
               Workbook wb=WorkbookFactory.create(fis);
    Sheet sh=wb.getSheet("Sheet1");

        for(int i=0; i<=3; i++) 
            {
            Actions act = new Actions(driver);

        act.moveToElement(driver.findElement(By.xpath("//*[@id='navbar-main']/div/div[2]/ul/li[3]/a"))).perform();
                driver.manage().timeouts().implicitlyWait(1,TimeUnit.MINUTES);
                            driver.findElement(By.xpath("//*[@id=\"navbar-main\"]/div/div[2]/ul/li[3]/ul/li[3]/div/ul/li[2]/a")).click();       //*[@id="navbar-main"]/div/div[2]/ul/li[3]/ul/li[3]/div/ul/li[2]/a

WebElement list = driver.findElement(By.xpath("//*[@id=\"categoryDropDown\"]"));
        Random random = new Random();
        int index = random.nextInt(4)+1;
        Select listfin = new Select(list);
        listfin.selectByIndex(index);
        Thread.sleep(2000); 

WebElement itemsInDropdown1 = driver.findElement(By.xpath("//*[@id=\"policyTermDropDown\"]"));
           Random random1 = new Random();
           int index1 = random.nextInt(4)+1;
           Select list1 = new Select(itemsInDropdown1);
           list1.selectByIndex(index1);
           Thread.sleep(2000);

        js.executeScript("window.scrollBy(0,-500)"); 
        Thread.sleep(1500);
        String a= driver.findElement(By.xpath("//*[@id=\'totalCount\']")).getText();
            System.out.println(a +" "+"Scheme Found");


    sh.getRow(0).createCell(i).setCellValue(a + " "+"Scheme found");

FileOutputStream fos=new FileOutputStream("C:\\Excel_data\\Testdata.xlsx");
                        wb.write(fos);
                fos.close();
                }
            driver.close();

                }
            }

1 Ответ

0 голосов
/ 26 декабря 2018

Как указано в вопросе, только оператор печати является

String a= driver.findElement(By.xpath("//*[@id=\'totalCount\']")).getText();
        System.out.println(a +" "+"Scheme Found");

Таким образом, текст, доступный на id=totalCount, будет напечатан.

Если вы хотите напечатать выбранный параметр в раскрывающемся списке, то

 WebElement option = list1.getFirstSelectedOption();
    System.out.println(option.getAttribute("value"));

, который будет печатать выбранный параметр для раскрывающегося списка list1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...