簡體   English   中英

如何使用 RSelenium 運行 javascript?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM