【问题标题】:Date Picking with RSelenium and Calendar Format使用 RSelenium 和日历格式选择日期
【发布时间】:2021-11-12 14:38:09
【问题描述】:

我想用 RSelenium 来计算票价。是否可以输入日历日期格式的键(见附图)。网站上的元素如下所示:

"<span class="flatpickr-day today selected" aria-label="November 12, 2021" aria-current="date" tabindex="-1">12</span>"

我目前使用的代码:

# go to rail service website 
remDr$navigate("https://www.bahn.de")
# accept cookies
webElems <- remDr$findElements(using = "xpath", "//button[starts- with(@class, 'btn js-accept-all-cookies')]")
unlist(lapply(webElems, function(x) {x$getElementText()}))
webElems[[1]]$clickElement() 
Sys.sleep(10) # wait for page loading

# Fill out forms
from <- "Berlin Hbf"
to <- "Köln Hbf"
day <- "14.11.2021"
time <- "16:00"

remDr$findElement(using = "id", value = "js-auskunft-autocomplete-from")$sendKeysToElement(list(from))
remDr$findElement(using = "id", value = "js-auskunft-autocomplete-to")$sendKeysToElement(list(to))

从这里开始,我迷失了,在采摘的日子和时间上。

【问题讨论】:

  • 我猜不是,因为这不是输入类型,所以我们不能设置任何值。
  • 提供您尝试过的代码和网站链接。
  • 代码已在上面提供!
  • 日期的生成方式有很多种,能给个url或者html代码吗?
  • 如上所示:bahn.de

标签: r selenium rvest rselenium


【解决方案1】:

试试这样的:

library(RSelenium)
remDr <- remoteDriver(
  remoteServerAddr = "localhost",
  port = 4445L,
  browserName = "firefox"
)
remDr$open()
remDr$navigate("/foo.html")
remDr$navigate("http://www.example.com") # your url
remDr$findElements(using = 'xpath', "//span[@aria-label='November 12, 2021']")[[1]]$clickElement()

【讨论】:

  • 我解决了,我必须先clickElement日历才能打开它,aria-label 才能选择。这是行:remDr$findElements(using = 'xpath', "//a[@class='datepicker']")[[1]]$clickElement()followed by remDr$findElements(using = 'xpath', "//span[@aria-label='November 30, 2021']")[[1]]$clickElement()
猜你喜欢
  • 1970-01-01
  • 2014-04-22
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 2018-12-31
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多