Как я могу разобрать сайт после того, как сайт загрузил javascript? - PullRequest
0 голосов
/ 07 июня 2019

Я хочу отобразить HTML веб-страницы после загрузки javascript, чтобы я мог получить точное представление о таблицах.

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

System.setProperty("webdriver.chrome.driver", "D:\\Download bestanden\\chromedriver_win32\\chromedriver.exe");

    ChromeOptions options = new ChromeOptions();
    //options.addArguments("headless");
    WebDriver driver = new ChromeDriver(options);

    driver.get("https://www.flashscore.com/");
    System.out.println(driver.getTitle());

    Document doc = Jsoup.parse(driver.getPageSource());
    System.out.println(doc.select("ul.submenu.hidden li a").text());
    driver.close();
    driver.quit();
    System.out.println("Completed");

Если я ищу lmenu_17, я ожидаю больше результатов, чем Superlinga от Албании в качестве ссылки, я ожидаю, что кубок Первого дивизиона и Суперкубок будут отображаться так же, как онисделать в инспекторе.Заранее благодарен за любую помощь!

1 Ответ

2 голосов
/ 07 июня 2019
        ChromeDriver driver = new ChromeDriver();
        driver.Navigate().GoToUrl("https://www.flashscore.com/");

        //works after the page is fully loaded.
        //goes to a bottom line.

        string href = driver.FindElementByXPath("//*[@id='lmenu_17']/ul/li[1]/a").GetAttribute("href"); // albanian link
        //driver.Navigate().GoToUrl(href);

        foreach (var element in driver.FindElements(By.XPath("//*[@id='lc']/div[6]/ul/li/a")))
        {
            Console.WriteLine(element.GetAttribute("href"));
        }

        driver.FindElementByXPath("//*[@id='lc']/div[6]/ul/li[12]/a").Click();
        Thread.Sleep(1000);

        foreach (var element in driver.FindElements(By.XPath("//*[@id='lc']/div[9]/ul/li/a")))
        {
            Console.WriteLine(element.GetAttribute("href"));
        }

        Console.ReadKey();

вам не нужно получать источник страницы.

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

...