【问题标题】:Setting the viewport size with Rselenium and PhantomJS使用 Rselenium 和 PhantomJS 设置视口大小
【发布时间】:2017-02-18 10:49:12
【问题描述】:

我正在使用 RSelenium 和 PhantomJS 从站点中提取数据。

我正在尝试更改用户代理和视口大小。我设法调整了用户代理,但似乎无法调整视口大小。

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 x 300。

我检查了 PhantomJS 文档并验证了 phantomjs.page.viewportsize 存在。

有什么办法可以调整视口大小吗?

【问题讨论】:

  • 您可以使用 phantomExecute 方法 remDr$phantomExecute("var page = this; page.viewportSize = {width: 1280,height: 1024};") 访问 PhantomJS API。据我所知,这仅在您像在这种情况下那样直接驱动 PhantomJS 时才有效。
  • 感谢您的评论 - 这是传递 JS 的有用技巧,尽管我认为 @Floo 答案是我正在寻找的答案。

标签: r rselenium


【解决方案1】:

你的意思是这样的:

remDr$setWindowSize(1280L, 1024L)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多