Как распечатать все предложенные автоматически элементы с помощью селена - PullRequest
0 голосов
/ 08 мая 2020

Я пытался распечатать все элементы, предложенные Google автоматически. Но когда я печатаю, предложенные автоматически ключевые слова не отображаются. Я должен получить 10 результатов согласно приложенному изображению и распечатать его.

Ниже мой код:

'''
package FindElements;

import java.util.Iterator;
import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Search {

    public static void main(String[] args) {
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "F:\\Selenium_Vaibhav\\chromedriver_win32\\chromedriver.exe");
        driver= new ChromeDriver();

        driver.get("https://www.google.com/");
        driver.findElement(By.name("q")).sendKeys("selenium");

        List<WebElement> list= driver.findElements(By.xpath("//*[text()='selenium']"));
        System.out.println(list.size());


        for(int i=0;i<list.size();i++)
        {
            System.out.println(list.get(i).getText());
        }
    }
}

'''

enter image description here

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Сохраните индекс в WebElement, а затем сохраните текст в переменной String. Вы получите все 10 ключевых слов

for(int i=0; i<=lists;i++) {
    WebElement searchtexets=list.get(i);
    String Searchtexts=searchtexets.getText();
    System.out.println(Searchtexts);
}
1 голос
/ 08 мая 2020

Если вы проверили элемент результата поиска, вы заметите, что все элементы списка имеют общий класс, которым является «sbl1», попробуйте следующее решение:

List<WebElement> list= driver.findElements(By.xpath("//*[@class='sbl1']"));
...