嗨,我正在尝试使用Rselenium选择下拉菜单。
我要单击下拉菜单的字段是“日期范围”,因此我在html代码中查找(请参见下图)并找到
class="select2-choice"
成为指针,所以我调用命令以单击下拉菜单
webElem <- rd$client$findElement(using = 'xpath',
value = '//*[@class="select2-choice"]')
webElem$clickElement()
然后我要在下拉字段中选择“自定义”,因此我在html代码中查找(请参见下图),发现它位于
下select id="namedRange-3640"
,选项为
value="custom"
所以我尝试再次调用Rselenium命令以单击此自定义字段
webElem <- rd$client$findElement(using = 'xpath', "//select[@id='namedRange-3640']/option[@value='custom']")
webElem$clickElement()
但是,在网页中没有任何动作,代码也没有警告。我在其他网页上尝试了更简单的结构,例如下拉菜单上的W3C教程,它可以工作。但是在这种情况下,它似乎稍微复杂一点,我以前从未遇到过这种叫做ng-repeat的东西。有人知道如何选择自定义字段吗?
非常感谢
答案 0 :(得分:0)
这可能是解决方案。
library(RSelenium)
remDr <- remoteDriver(browser=c("firefox"), port = 4445)
remDr$open()
remDr$navigate("your_web_site.com")
frame_ws<- remDr$findElement(using='id', value="iframeResult")
remDr$switchToFrame(frame_ws)
#You can replace "today" with all elements the list
option <- remDr$findElement(using = 'xpath', "//*/option[@value = 'today']")
option$clickElement()
如果您想深入讨论,您应该访问here