1

Webスクレイピングのチュートリアルを読んだ後、Seleniumを使用してみました。

目的は、Ajax呼び出しの後に必要なデータをロードするページをWeb /画面でスクレイピングすることです(このajax呼び出しは最初のページのロード後に行われます)。

2番目の目的は、Seleniumコードをバックグラウンドで(ブラウザーを開かずに)実行して、ページ(Ajax呼び出しを含む)をロードし、最終的なHTMLを取得し、必要な処理をローカルで実行できるようにすることです。

これまでのコードは次のとおりです(http://www.geekonweb.com/net/web-page-scraping-using-selenium-and-net/からのコードチュートリアル)

public ActionResult Index()
    {
        //--
        //Below path should contain IEDriverServer.exe
        var chrome = new ChromeDriver(@"file path");
        chrome.Url = @"<url>";

        chrome.Navigate();

        //extract the html
        //var retval = ie.ExecuteScript("return document.body.outerHTML");

        string result = chrome.PageSource;


        return View();
    }

現在、Seleniumをサイレントに実行する方法を見つけることができませんでした(GUIなし)。それができるなら親切に助けてください。

次に、Ajax呼び出しが終了するのを待ってからデータを取得するようにSeleniumに指示する方法を教えてください。

よろしく、

4

1 に答える 1

1

要素が存在するまで待機する方法についての質問です。これは、AJAX を待機するために行われます。

これは、セレンのヘッドレスで実行できる天気に関する質問です。

于 2013-03-16T12:28:02.460 に答える