<p>使用<code>RSelenium</code>和<code>phantomjs</code>:</p>
<pre><code># use dev version so we can run phantomjs without a selenium server
# devtools::install_github("ropensci/RSelenium")
# it is necessary that phantomjs is in your PATH if not
# refer to package vignettes
library(RSelenium)
appURL <- "http://www.mpf.invesco.com.hk/html/en/mpf/prices.html"
pJS <- phantom()
remDr <- remoteDriver(browserName = "phantomjs")
remDr$open()
remDr$navigate(appURL)
# <span onclick=\"accept();return false;\">I have read the Important Information</span>
# execute above code
remDr$executeScript("accept();return false;")
# switch to iframe element
remDr$switchToFrame("myFrame")
> head(readHTMLTable(remDr$getPageSource()[[1]]
, which = 2, header = TRUE, skip.rows = 1))
Name of Constituent Fund Unit Class Currency
1 Hong Kong and China Equity Fund A HKD
2 Asian Equity Fund A HKD
3 Growth Fund A HKD
4 Balanced Fund A HKD
5 RMB Bond Fund (this Constituent Fund is denominated in HKD only and not in RMB) A HKD
6 Capital Stable Fund A HKD
Fund Price
1 34.5537
2 10.2323
3 19.2199
4 18.8244
5 9.8299
6 18.3871
</code></pre>
<p>完成后,最后关闭<code>phantomjs</code>实例:</p>
<pre><code>pJS$stop()
</code></pre>