Не удалось получить значение общего количества записей для нескольких вкладок на одной странице - PullRequest
0 голосов
/ 25 октября 2019

В соответствии с требованием, мне нужно значение общего количества записей для всех вкладок данных на одной странице. Всего на одной странице 6 вкладок с разными наборами большого объема данных -> которые имеют разное время загрузки для разных вкладок. И чтобы проверить завершение загрузки, я использовал WebDriverWait для видимости Всего нет. записей, которые появляются, когда мы прокручиваем вниз до конца страницы. Page View with 6 tabs

    JavascriptExecutor js = (JavascriptExecutor)driver;

    js.executeScript("arguments[0].click();", WebElement-Tab1);
    waitForTotalRecords();

После нажатия на tab1 затем в функции In waitForTotalRecords () следующий код, который я использую:

    JavascriptExecutor js = (JavascriptExecutor)driver;

    js.executeScript("arguments[0].scrollIntoView();", my-WebElemnt)

    String TotalRecords = my-WebElemnt.getText().toString();

    System.out.println("The Total number of records are "+TotalRecords);

Но это не работает и всегда дает мне общее нет. записи только для 1-й вкладки

Насколько я понимаю, мне кажется, что это из-за скрытого элемента, потому что, когда пользователь нажимает на следующую вкладку, он по-прежнему ссылается на 1-ю вкладку - всего записей. и для этого я также попробовал этот код:

public String getText(List<WebElement> e)
{
    int size=e.size();
    String Value = "False";

    System.out.println("The size is "+size);

    for(int i=0;i<size;i++)
    {
        int x=e.get(i).getLocation().getX();

        if(x!=0)
        {
            String TextValue = e.get(i).getText().toString();

            return TextValue;
        }

    }
    return Value;

}

Пожалуйста, предложите, как я могу получить значение общего количества записей для всех вкладок соответственно. спасибо !!!

1 Ответ

0 голосов
/ 25 октября 2019

После перехода на страницу проверьте, полностью ли загружена страница или нет, используя указанный ниже метод.

 public void pageloadstate() throws InterruptedException {

JavascriptExecutorjs = (JavascriptExecutor)driver;

Stringstates =null;

do{

states=js.executeScript("return document.readyState").toString();

Thread.sleep(3000);

System.out.println("pageloaded!!!: "+ states);}

while (states== "complete");

System.out.println("pageloaded sucessfully");

Вы можете извлечь данные и сохранить их, затем перейти на другую вкладку и повторить вышеизложенное.

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