VBA Macro将数据从安全网站提取到excel

时间:2015-11-03 17:57:27

标签: vba excel-vba excel

我有代码使用宏从网站将一般数据提取到Excel中,例如雅虎财经报价。但是,是否有可能从安全网站(需要登录的网站)中提取数据来自动化报告?提供的链接很接近,但我不明白如何传递参数。另外,当我运行这个时,我只得到一个带有" X"的对话框。没有别的...... 编辑: 我从SAP SuccessFactors中撤出。我可以获取宏来拉取与URL相关联的pdf,但它不会获取临时的excel报告。如果有人有任何想法会很棒!我在下面粘贴了我的代码:

Dim driver As New Selenium.WebDriver
Public Sub DownloadFile()
    driver.Start "Chrome"
    driver.Get "https://performancemanager4.successfactors.com/login company=Arrow&username=A79123"
    driver.Wait 20000
    driver.Get "https://performancemanager4.successfactors.com/acme?fbacme_n=analytics&bplte_company=Arrow&_s.crb=EAYY%2bFNmT7%2b%2b8%2fbKt4IEV6RmGRM%3d"
    driver.Wait 1000
    driver.Get "https://performancemanager4.successfactors.com/acme?_s.crb=EAYY%252bFNmT7%252b%252b8%252fbKt4IEV6RmGRM%253d#focus"
    driver.Wait 1000
    driver.Get "file:///C:/Users/a79123/Downloads/report_Hires_by_Job_Family_Sarah_07a6559d-98a8-436d-b686-5abd2a2c631d.pdf"
End Sub

2 个答案:

答案 0 :(得分:0)

以下链接显示了从网上下载数据的方法,允许您传递用户名和密码:https://stackoverflow.com/a/17877390/5521518

答案 1 :(得分:0)

几个月前,我曾在VBA玩过Selenium。我找到的最好的方法是在代码中等待一段时间,让你有足够的时间登录网站,然后让代码从那里获取它。我认为我遇到的最大问题是没有存储代码中的用户名和密码应该是其他人想要使用的,或者使用Excel创建一个隐藏文本的表单很难用Excel。

Dim driver As New SeleniumWrapper.WebDriver
Public Sub getData()
   driver.Start "IE"
   driver.Open "your site here"
   driver.Wait 20000 ' use this time to log in
   ' more code here
End Sub