[英]How to run javascript using RSelenium?
我正在嘗試使用 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')
在該頁面中,我嘗試單擊下方菜單中的“所有語言”按鈕:
我試圖通過調用 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(1881fd7f8641508feb5166b7cae561d877238cfa2),4.0.3282.186Mac260
錯誤:摘要:未知錯誤詳細信息:處理命令時發生未知的服務器端錯誤。 更多細節:運行 errorDetails 方法
RSelenium 中可能存在這樣的錯誤。
嘗試在列表方法中傳遞一個虛擬參數。
使用這個:
remDr$executeScript(script, args = list("fugazi"))
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.