2012-03-31 63 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