You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言的selenider中打开新标签页或窗口?

在R中使用selenider+chromote打开新标签页/窗口的实现方法

完全可以实现,下面提供两种常用操作方式,附带标签页切换方法:

方法一:执行JavaScript打开新标签页

利用execute_script()运行原生JS代码触发新标签页,之后手动切换到新窗口:

library(selenider)

# 初始化会话
session <- selenider_session(
  "chromote",
  options = chromote_options(headless = FALSE),
  timeout = 10
)

# 执行JS打开新标签页(可传入目标URL,留空则打开空白页)
execute_script(session, "window.open('https://example.com');")

# 获取所有窗口句柄,切换到最新打开的标签页(最后一个即为新窗口)
window_handles <- get_windows(session)
switch_to_window(session, window_handles[[length(window_handles)]])

方法二:直接调用chromote的API创建新标签页

selenider的session对象包含底层chromote驱动实例,可直接调用newTab()方法创建标签页,再切换会话上下文:

library(selenider)

session <- selenider_session(
  "chromote",
  options = chromote_options(headless = FALSE),
  timeout = 10
)

# 创建新标签页,返回新的chromote会话对象
new_tab_session <- session$driver$newTab()

# 将selenider会话切换到新标签页
switch_to_chromote_session(session, new_tab_session)

切换回原标签页

如果需要切回初始标签页,可通过窗口句柄操作:

# 获取所有窗口句柄,切换到第一个窗口(初始标签页)
switch_to_window(session, window_handles[[1]])

内容的提问来源于stack exchange,提问作者seansteele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:05:55