如何使用 Rselenium 呼叫分机?

问题描述 投票:0回答:1

我正在尝试使用 Rselenium 激活 chrome 扩展(Zotero),使用快捷键:“control”+“shift”+“S”

rD <- rsDriver(browser = "chrome", port = free_port()) 
remDr <- rD$client
remDr$navigate("https://www.sciencedirect.com/science/article/pii/S0141113623003252")

remDr$sendKeysToElement(list(key = 'control', key = 'shift',  's'))

我收到此错误:

envRefInferField(x, What, getClass(class(x)), selfEnv) 中的错误: “sendKeysToElement”不是引用类“remoteDriver”的有效字段或方法名称

知道我做错了什么吗?

html r google-chrome rselenium
1个回答
0
投票

您创建的

remDr
变量是一个“远程驱动程序”,它是一个处理与后台运行的浏览器通信的对象。您不想在那里发送密钥,您想将它们发送到正在显示的网页中的某个对象。

根据网页的不同,这可能是一个特定的字段(例如登录页面中的用户名字段),或者更大的字段。通常您会使用

elem <- remDr$findElement(...)
查找网页元素,然后使用
elem$sendKeysToElement(...)
发送它们。

我不确定您网页上的哪个元素将处理这些按键。我猜这样的事情会起作用:

elem <- remDr$findElement("xpath", "//body")
elem$sendKeysToElement(list(key = 'control', key = 'shift',  's'))

但你可能需要尝试第一行。

© www.soinside.com 2019 - 2024. All rights reserved.