【问题标题】:RSelenium Click Button and download generated csvRSelenium 单击按钮并下载生成的 csv
【发布时间】:2021-09-19 11:53:56
【问题描述】:

我是使用RSelenium 的新手,我想简单地单击加载数据按钮,然后从网页单击生成的 CSV,但我找不到元素正确,这就是我所做的:

library(RSelenium)
library(dplyr)
library(tidyverse)
mydriver <- rsDriver(browser = "chrome", port= 4837L, chromever="93.0.4577.63")
remDr <- mydriver[['client']]
remDr$open()
link_download <- "https://forexsb.com/historical-forex-data"
remDr$navigate(link_download)

这些是我用来选择加载数据按钮的几种方式,但产生No Such Element Found

load_data_element <- remDr$findElement(using="css selector", value="#btn btn-primary")
load_data_element$clickElement()
load_data_element <- remDr$findElement(using="css selector", value=".btn-load-data")
load_data_element$clickElement()
load_data_element <- remDr$findElement(using="xpath", value="//button[@id='btn-load-data']")
load_data_element$clickElement()
load_data_element <- remDr$findElement(using="xpath", value="//*[@id='btn-load-data']")
load_data_element$clickElement()

这是找到某个元素的唯一选择器,但单击它时仍然没有任何反应:

load_data_element <- remDr$findElement(using="xpath", value="//button")
load_data_element$clickElement()

任何指南都会有所帮助,谢谢!

【问题讨论】:

标签: r automated-tests rselenium


【解决方案1】:

Load Data ButtonCSV Generated Download 都在 iframe 中,所以这应该使元素在切换到 iframe 后可点击:

iframe_detect <- remDr$findElements(using = "xpath", value = "//iframe[@id='data-app-frame']")
remDr$switchToFrame(iframe_detect[[1]])
load_data_element <- remDr$findElement(using="xpath", value="//button[@id='btn-load-data']")
load_data_element$clickElement()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 2021-06-25
    • 1970-01-01
    相关资源
    最近更新 更多