RSelenium找到并点击链接

问题描述 投票:0回答:1

我下面的代码向一个日本的地理位置网站发送了一个请求,并得到了一个新的页面,但我无法让RSelenium定位并点击这个链接。

library(XML)
library(RSelenium)

remDr <- remoteDriver(
  remoteServerAddr = "localhost",
  port = 4445L,
  browserName = "firefox"
)

remDr$open()
remDr$navigate("https://maps.gsi.go.jp")
remDr$screenshot(display = TRUE)
remDr$getCurrentUrl()

webElem <- remDr$findElement(using = "id", value = "query")
webElem$getElementAttribute("id")
webElem$highlightElement()
webElem$sendKeysToElement(list("茨城県行方郡玉造町","\uE007"))
remDr$screenshot(display = TRUE)

我想点击下面的节点,并从新的页面中获取URL,但我的所有尝试都没有用 remDr$findElement 正在工作。我是不是漏掉了什么明显的东西?

<a href="javascript:void(0);" style="padding-left: 32px; background: url(&quot;image/mapicon/search_result.png&quot;) 0px 50% no-repeat;"><div class="title">茨城県行方郡</div><div class="muni">茨城県行方市</div></a>

css r xpath web-scraping rselenium
1个回答
0
投票

像这样吗?

link <- remDr$findElement(using = "css selector", value = ".muni")
link$highlightElement()
link$clickElement()
remDr$getCurrentUrl()

0
投票

用XPath.NET Framework Framework 2.0来实现。

remDr$navigate("https://maps.gsi.go.jp")
webElem <- remDr$findElement(using = "xpath","//input[@id='query']")
webElem$clickElement()
webElem$sendKeysToElement(list("茨城県行方郡玉造町", key = "enter"))

webElem2 <- remDr$findElement(using = "xpath","//div[@class='searchresultdialog_ul_frame']//a")
webElem2$clickElement()

如果你得到错误,使用 尝试捕捉组合 归功于@Victor Burnett)来等待元素的存在。

© www.soinside.com 2019 - 2024. All rights reserved.