【问题标题】:How to find the ActionURL in a javascript __doPostBack如何在 javascript __doPostBack 中找到 ActionURL
【发布时间】:2015-10-27 19:53:13
【问题描述】:

我在 excel 中使用 VBA 进行网页抓取。我正在尝试拉下网站上链接的 URL。

在此网站上进行搜索,选中底部附近的任何复选框:(http://www.fpi.co.za/YourFinancialPlanning/FindaFinancialPlanner/tabid/3255/Default.aspx)

你会看到这里有一个名单(南非的顾问)

如果您单击名称,它将带您进入一个新页面。话虽如此,改网址的方法其实是通过javascript__doPostBack,也就是说我不能简单的getelementsbyclassname().href

我知道我可以简单地使用 VBA 单击链接,然后存储 URL,但是有没有什么方法可以在不导航的情况下获取该 URL?

这是我正在处理的 HREF:

 javascript:__doPostBack('dnn$ctr4953$Clients_Custom$ctl00$rg_Members$ctl00$ctl04$lnkName','')

postBackOptions.ActionURL 周围有什么东西吗?

【问题讨论】:

    标签: javascript vba excel web-scraping


    【解决方案1】:

    该网站是一个 ASP.Net 应用程序。 JavaScript 由 .Net 引擎自动生成,函数__doPostBack() 只是将参数发送回服务器,然后重定向到另一个页面。这意味着该 URL 在服务器上而不是 JavaScript,因此您无法找到它。

    【讨论】:

    • 感谢您的回复!那么 VBA 中是否没有方法可以在没有实际导航的情况下获取该 URL?原因是该网站将您限制为每次会话 9 次“点击”。不适合网页抓取!
    • 不,就像我说的那样,URL 只存在于服务器上,并且在重定向发生之前永远不会发送到客户端。您的 VBA 无权访问服务器。
    • @Sapmess 你不能强制新建部分吗?
    • @Sapmess,另外,根据您的需要,假设它们是按顺序发出的(确实出现是真实的)。然后,您将拥有所有现有的配置文件 URL,并且您可以从中构建自己的数据库或您需要做的任何事情。
    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 2011-09-24
    • 2010-11-27
    • 2011-09-15
    • 2013-01-07
    • 2016-06-26
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多