Как нажать на название следующего класса? - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть свойство класса <a class="row-title"> до 21 веб-элемента.Я могу выбрать все 21 элемент, используя метод get text, но я хочу выполнить такую ​​операцию.

  1. сначала я должен нажать на XPath driver.findElement(By.xpath(".//*[@id='menu-posts-presentation']/a/div[3]"));
  2. , затем я хочу нажать на <a class="row-title"> имя первого класса
  3. шаг 3, я также хочу нажатьна xpath driver.findElement(By.xpath(".//*[@id='publish']")).click();
  4. , затем я должен снова щелкнуть тот же XPath, который находится в шаге 1, а затем щелкнуть имя второго класса, а не первый, и снова щелкнуть XPath, который находится в 3 шагах3
  5. , поэтому я хочу повторить это до имени класса 21.

    Test(priority = 2)
    public void myfsk1(){ 
    
        driver.findElement(By.xpath(".//*[@id='menu-posts-presentation']/a/div[3]")).click();
        List<WebElement> elements = driver.findElements(By.className("row-title"));
        System.out.println(elements.size());
    
        for (int i=1;i<=elements.size()-1;i++)
        {
            System.out.println(elements.get(i).getText());
            Reporter.log(elements.get(i).getText());
    
        }
    

1 Ответ

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

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

    Test(priority = 2)
    public void myfsk1 () {
        List<WebElement> elements = driver.findElements(By.className("row-title"));
        int listSize = elements.size();
        System.out.println(listSize);
        WebElement innerElement;

        for (int i = 1; i < listSize; i++) {
            driver.findElement(By.id("menu-posts-presentation"))
                  .findElement(By.xpath("./a/div[3]"))
                  .click();

            // Search again due to page refresh
            elements = driver.findElements(By.className("row-title"));
            innerElement = elements.get(i);

            System.out.println(innerElement.getText());
            Reporter.log(innerElement.getText());
            innerElement.click()

            driver.findElement(By.id("publish").click;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...