我试图使用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')
在页面中,我试图点击按钮&#34;所有语言&#34;从下面的菜单中:
我试图通过调用JS触发点击,这在Chrome控制台中运行script
时有效
script <- "document.getElementById('filters_detail_language_filterLang_ALL').click();"
remDr$executeScript(script, args=list())
但是我收到以下错误:
remDr $ executeScript(script,args = list())
Selenium消息:未知错误:&#39; args&#39;必须是一个列表(会话信息: chrome = 64.0.3282.186)(驱动程序信息:chromedriver = 2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8),platform = Mac OS X 10.12.4 x86_64的)
错误:摘要:UnknownError详细信息:未知的服务器端错误 处理命令时发生。更多细节:运行 errorDetails方法
答案 0 :(得分:1)
RSelenium可能存在错误。
尝试在list方法中传递伪参数。
使用此:
remDr$executeScript(script, args = list("fugazi"))
答案 1 :(得分:1)
element = remDr$findElement(using='xpath','//*
[@id="filters_detail_language_filterLang_ALL"]')
script <-"document.getElementById('filters_detail_language_filterLang_ALL').click();"
remDr$executeScript(script, args=list(element))