2012-03-31 65 views
1

如何將鼠標移動到Adsense鏈接時顯示的URL?我試圖在C#中使用Webbrowser控件來閱讀它,但無法在DocumentText中找到它。似乎它正在通過JavaScript顯示,所以我怎麼讀它? 即使GetElementById函數也不返回所需的元素ID。如何閱讀C#中的AdSense網址(鼠標懸停時顯示的網址)

這種URL的兩個例子是:

http://www.googleadservices.com/pagead/aclk?sa=L&ai=By4nW0cV2nGieB6e7 .........

http://googleads.g.doubleclick.net/aclk?sa=l&ai=BgdDhR3M1L47d ..........

回答

0

谷歌通過包含腳本將adsense放在頁面上。該腳本會在頁面加載後運行,並在頁面中不經意地生成iframe或標記。只是獲取頁面不會運行AdSense,你必須先在頁面中運行實際的JavaScript,然後檢查生成的標記。

如果你想從c#做到這一點,你應該使用類似javascriptdotnet或類似的東西。 - 或者在java中使用Rhino來抓取頁面。

+0

你的最後一行說:「你必須首先運行在頁面實際的JavaScript,然後檢查生成的標記」自從我使用的網頁瀏覽器 控制,不應該這個控制已經在做這個?因爲它是基於IE的完整網頁瀏覽器。 – Ali 2012-03-31 13:38:56

+0

您好我不完全熟悉System.Windows.Forms.WebBrowser控件 - 它是否運行任何腳本 - 您可以用簡單的腳本在簡單的頁面上測試。如果它不存在,那麼可能會調用一個方法或屬性來啓動它。如果是這樣,可能是因爲谷歌腳本沒有運行,因爲它不認爲它是一個真正的瀏覽器 - 嘗試設置useragent字符串到一個已知的瀏覽器,也許你需要接受cookies。 - 只是幾點 - HTH – 2012-04-02 08:10:54