1

我想单击此网址上的复选框“HIV/AIDS”:https://www.unodc.org/ngo/showExtendedSearch.do使用 RSelenium

到目前为止,这是我的代码:

#load library
library(RSelenium)

#Check for serves and start server
RSelenium::checkForServer()
RSelenium::startServer()

#Specify remote driver
remDr <- RSelenium::remoteDriver(browserName='firefox')

#new remotedriver using default initialisation values
remoteDriver$new()

#Initialise session 
remDr$open()

#navigate to advanced search page

url <- "https://www.unodc.org/ngo/showExtendedSearch.do"
remDr$navigate(url)

#Click 'HIV/AIDS' filter
button <- remDr$findElements("name","HIV/Aids")

button$clickElement()

查找复选框“HIV/AIDS”的元素时出错。我现在得到一个空列表作为回报。我尝试使用导致以下代码的选择器小工具:

button <- remDr$findElements("css selector",'#applicationArea > form > table > tbody > tr > td > table:nth-child(7) > tbody > tr:nth-child(2) > td > table > tbody > tr > td:nth-child(2) > table > tbody > tr:nth-child(3) > td:nth-child(4) > input[type="checkbox"]')
button$clickElement()

这次我没有得到一个空列表,也没有得到想要的 webelement。

如果有人可以提供帮助,那将非常有帮助。

编辑:我的最后一个代码(使用 css 选择器)似乎对其他人有用。但是,我得到以下错误:attempt to apply non-function,所以其他东西一定是错的。

4

2 回答 2

1

你为我工作的代码:

library(RSelenium)

remDr <- remoteDriver(browserName = "firefox")
remDr$open()

url <- "https://www.unodc.org/ngo/showExtendedSearch.do"
remDr$navigate(url)

webElem <- remDr$findElement(using = 'css', 
                             value = '#applicationArea > form > table > tbody > tr > td > table:nth-child(7) > tbody > tr:nth-child(2) > td > table > tbody > tr > td:nth-child(2) > table > tbody > tr:nth-child(3) > td:nth-child(4) > input[type="checkbox"]')

webElem$clickElement()

在此处输入图像描述

于 2016-03-16T10:46:32.173 回答
0

试试这个:

button <- remDr$findElements("name","areaAidshiv")
button$clickElement()
于 2016-03-16T10:37:33.460 回答