Невозможно получить ссылку на новостные статьи на странице новостей Google с помощью Selenium - PullRequest
0 голосов
/ 22 мая 2018

Приведенный ниже скрипт переходит на страницу новостей после поиска текста «Ливерпуль», а затем печатает все ссылки на файл и печатает их также в консоли.Проблема в том, что я не могу получить ссылки на все новостные статьи на странице новостей Google.За исключением того, что все другие ссылки на страницу печатаются

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

        String URL = "https://www.google.com";
        WebDriver driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.get(URL);
        WebElement searchBar = driver.findElement(By.xpath("//*[@id='lst-ib']"));
        searchBar.sendKeys("Liverpool");
        WebElement clickSearch = driver.findElement(By.name("btnK"));
        clickSearch.click();
        WebElement newsButton = driver.findElement(By.xpath("//*[@id='hdtb-msb-vis']/div[2]/a"));
        newsButton.click();
        java.util.List<WebElement> links = driver.findElements(By.tagName("a"));
        System.out.println(links.size());
        FileWriter file = new FileWriter("/Users/lekharaj/Desktop/LFC.txt");
        BufferedWriter b = new BufferedWriter(file);
        for(int i=0;i<links.size();i++){
            String text = links.get(i).getAttribute("href");
            System.out.println("\n"+text);
            b.write(text);
            b.newLine();
            b.flush();
            }
    }

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Чтобы найти текст Ливерпуль на Домашняя страница Google , а затем распечатать все ссылки, вы можете использовать следующее решение:

0 голосов
/ 22 мая 2018

Вы можете использовать следующий x-путь, чтобы получить только ссылки на статьи.

//article/a

В коде

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

    String URL = "https://www.google.com";
    WebDriver driver = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.get(URL);
    WebElement searchBar = driver.findElement(By.xpath("//*[@id='lst-ib']"));
    searchBar.sendKeys("Liverpool");
    WebElement clickSearch = driver.findElement(By.name("btnK"));
    clickSearch.click();
    WebElement newsButton = driver.findElement(By.xpath("//*[@id='hdtb-msb-vis']/div[2]/a"));
    newsButton.click();
    java.util.List<WebElement> links = driver.findElements(By.xpath("//article/a"));
    System.out.println(links.size());
    FileWriter file = new FileWriter("/Users/lekharaj/Desktop/LFC.txt");
    BufferedWriter b = new BufferedWriter(file);
    for(int i=0;i<links.size();i++){
        String text = links.get(i).getAttribute("href");
        System.out.println("\n"+text);
        b.write(text);
        b.newLine();
        b.flush();
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...