我想点击此网址上的“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()
找到复选框“艾滋病毒/艾滋病”的元素是错误的。我现在得到一个空列表作为回报。我尝试使用selectorgadget导致以下代码:
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
,所以其他一些错误。
答案 0 :(得分: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()
答案 1 :(得分:0)
试试这个:
button <- remDr$findElements("name","areaAidshiv")
button$clickElement()