如何使用 Rselenium findElement() 通过文本或 href select 一个 xpath?
How do I use Rselenium findElement() to select an xpath by text or href?
我知道还有其他关于堆栈溢出的问题,但我已经查看了所有这些问题,但似乎无法解决这个问题。我的初始代码如下:
library(RSelenium)
library(rvest)
remote_driver <- RSelenium::remoteDriver(
remoteServerAddr = "localhost",
port = 4445L,
browserName = "firefox")
remote_driver$open()
# Navigate to search page
remote_driver$navigate("http://sipp.pn-pangkalanbun.go.id/list_perkara/search")
# Locate search box
search_element <- remote_driver$findElement(using = 'id', value = 'search-box')
# Enter search term
search_element$sendKeysToElement(list("Pencurian"))
# Locate search button
button_element <- remote_driver$findElement(using = 'id', value = 'search-btn1')
# Click search button
button_element$clickElement()
以上所有操作均有效,并显示了一页搜索结果。我现在想让 R 单击页面底部的页码 links 以显示更多结果页面。使用 Chrome 的 selenium 扩展,我发现第 2 页的以下 xpath 值 link:
xpath=(//a[contains(text(),'2')])[2]
和
xpath=(//a[contains(@href, '#page-2')])[3]
我只想让 R 点击 link,但我似乎做不到。我已经尝试了以下两行代码:
button_element2 <- remote_driver$findElement(using = "xpath", value = "//a[contains(@href, '#page-2')])[3]")
button_element2 <- remote_driver$findElement(using = 'xpath', value = "(//a[contains(text(),'2')])[2]")
我还尝试了各种其他迭代,在这些迭代中我删除了字符串末尾的 [2] 和 [3],但无论我做什么,我都会遇到此错误的一些变体:
谁能帮我解决这个问题?
我们可以点击xpath
,
remDr$findElement(using = 'xpath', value = '//*[@id="selector_bottom"]/ul/li[3]')$clickElement()
这里 [3]
表示 second 结果页。对于 third 页面,我们可以使用 xpath,
//*[@id="selector_bottom"]/ul/li[4]
我知道还有其他关于堆栈溢出的问题,但我已经查看了所有这些问题,但似乎无法解决这个问题。我的初始代码如下:
library(RSelenium)
library(rvest)
remote_driver <- RSelenium::remoteDriver(
remoteServerAddr = "localhost",
port = 4445L,
browserName = "firefox")
remote_driver$open()
# Navigate to search page
remote_driver$navigate("http://sipp.pn-pangkalanbun.go.id/list_perkara/search")
# Locate search box
search_element <- remote_driver$findElement(using = 'id', value = 'search-box')
# Enter search term
search_element$sendKeysToElement(list("Pencurian"))
# Locate search button
button_element <- remote_driver$findElement(using = 'id', value = 'search-btn1')
# Click search button
button_element$clickElement()
以上所有操作均有效,并显示了一页搜索结果。我现在想让 R 单击页面底部的页码 links 以显示更多结果页面。使用 Chrome 的 selenium 扩展,我发现第 2 页的以下 xpath 值 link:
xpath=(//a[contains(text(),'2')])[2]
和
xpath=(//a[contains(@href, '#page-2')])[3]
我只想让 R 点击 link,但我似乎做不到。我已经尝试了以下两行代码:
button_element2 <- remote_driver$findElement(using = "xpath", value = "//a[contains(@href, '#page-2')])[3]")
button_element2 <- remote_driver$findElement(using = 'xpath', value = "(//a[contains(text(),'2')])[2]")
我还尝试了各种其他迭代,在这些迭代中我删除了字符串末尾的 [2] 和 [3],但无论我做什么,我都会遇到此错误的一些变体:
谁能帮我解决这个问题?
我们可以点击xpath
,
remDr$findElement(using = 'xpath', value = '//*[@id="selector_bottom"]/ul/li[3]')$clickElement()
这里 [3]
表示 second 结果页。对于 third 页面,我们可以使用 xpath,
//*[@id="selector_bottom"]/ul/li[4]