2017-01-23 57 views
1

1)我正在構建一個應用程序,用於從我的instagram個人資料中下載我的所有照片。繞過javascript來獲取頁面源

2)我不想使用Instagram的API,因此我搜索,我發現硒的webdriver和我這個包添加到我的項目

3)我使用C#來構建Android應用(Xamarin)檢查以下碼。

string url = "https://www.instagram.com/" + _theUsername; 
    IWebDriver driver = new FirefoxDriver(); 
    driver.Url = url; 
    string source = driver.PageSource; 

4)通過上面的代碼我得到以下錯誤: -

OpenQA.Selenium.DriverServiceNotFoundException: The geckodriver file does not exist in the current directory or in a directory on the PATH environment variable 

5)是否有可能在xamarin使用呢?我需要找到一個方法來做到這一點 任何幫助將不勝感激

+0

也許最好的方式來做到這一點,使用webview來提取頁面源 –

+0

我確實設法加載頁面內的web視圖與JavaScript上,一切正常,但正如我所說,我需要的頁面源,我不想顯示頁面 –

回答

0

我不熟悉的硒,但得到的URL頁面的源代碼是容易的HttpClient:

string url = "https://www.instagram.com/" + _theUsername; 
using (var httpClient = new HttpClient()){ 
    var response = await httpClient.GetStringAsync(url); 
    Debug.WriteLine(response); 
} 

response會有你的網頁來源。如果你不想顯示網頁,那麼無論如何不需要WebView

+0

是的,這很容易,但我想要繞過的JavaScript,因爲HTML源代碼與JavaScript呈現,如果我使用HttpClient它只返回一些無用的標籤 –

+0

啊,這確實複雜的東西。可能最簡單的就是使用Instagram API。 – jgoldberger

+0

我確實做出了從webview導出頁面源的工作,現在everthings很好,但我有問題[link] http://stackoverflow.com/questions/41996269/how-to-auto-click-on-a-link-in -webview?noredirect = 1#comment71194271_41996269 –