2017-02-18 50 views
1

我正在使用RSelenium和PhantomJS从站点中提取数据。使用Rselenium和PhantomJS设置视口大小

我在尝试更改useragent和视口大小。我设法调整了useragent,但我似乎无法调整视口大小。

library(RSelenium) 
pJS <- phantom() 

eCap <- list(phantomjs.page.settings.userAgent 
      = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0", 
      phantomjs.page.viewportsize = "width:1280, height:1024") 

remDr <- remoteDriver(browserName = "phantomjs", extraCapabilities = eCap) 

remDr$open() 
remDr$navigate("http://www.whoishostingthis.com/tools/user-agent/") 
remDr$findElement("id", "user-agent")$getElementText()[1] 

remDr$close() 

有了下面你的代码可以看到浏览器窗口是400×300

我已检查PhantomJS文档和验证phantomjs.page.viewportsize存在。

任何想法如何调整视口?

+0

可以使用phantomExecute方法'remDr $ phantomExecute(“VAR页面访问PhantomJS API =这一点; page.viewportSize = {宽度:1280,高度:1024 };“)'。这只有在我记得当你在这种情况下直接驾驶PhantomJS时才起作用。 – jdharrison

+0

感谢评论 - 这是一个有用的技巧来传递JS,但我认为@Floo答案是我正在寻找的。 – Leehbi

回答

3

你的意思是这样的:

remDr$setWindowSize(1280L, 1024L)