如何使用RSelenium运行javascript?

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

我试图使用JS调用单击网页上的输入对象。首先,我使用RSelenium来提取页面:

library(RSelenium)

rD <- rsDriver(port = 4444L, verbose = FALSE)
remDr <- rD$client
remDr$navigate('https://www.tripadvisor.com/Hotel_Review-g293913-d306432-Reviews-Ambassador_Hotel_Taipei-Taipei.html')

在页面中,我试图点击下面菜单中的“所有语言”按钮:

enter image description here

我试图通过调用JS触发点击,这在Chrome控制台中运行script时有效

script <- "document.getElementById('filters_detail_language_filterLang_ALL').click();"
remDr$executeScript(script, args=list())

但是我收到以下错误:

remDr $ executeScript(script,args = list())

Selenium消息:未知错误:'args'必须是一个列表(会话信息:chrome = 64.0.3282.186)(驱动程序信息:chromedriver = 2.36.540469(1881fd7f8641508feb5166b7cae561d87723cfa8),platform = Mac OS X 10.12.4 x86_64)

错误:摘要:UnknownError详细信息:处理命令时发生未知的服务器端错误。更多详细信息:运行errorDetails方法

r selenium rselenium
1个回答
1
投票

RSelenium可能存在错误。

尝试在list方法中传递伪参数。

用这个:

remDr$executeScript(script, args = list("fugazi"))
© www.soinside.com 2019 - 2024. All rights reserved.