我正在尝试使用 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”的有效字段或方法名称
知道我做错了什么吗?
您创建的
remDr
变量是一个“远程驱动程序”,它是一个处理与后台运行的浏览器通信的对象。您不想在那里发送密钥,您想将它们发送到正在显示的网页中的某个对象。
根据网页的不同,这可能是一个特定的字段(例如登录页面中的用户名字段),或者更大的字段。通常您会使用
elem <- remDr$findElement(...)
查找网页元素,然后使用 elem$sendKeysToElement(...)
发送它们。
我不确定您网页上的哪个元素将处理这些按键。我猜这样的事情会起作用:
elem <- remDr$findElement("xpath", "//body")
elem$sendKeysToElement(list(key = 'control', key = 'shift', 's'))
但你可能需要尝试第一行。