【问题标题】:RSelenium: input value in text boxRSelenium:文本框中的输入值
【发布时间】:2020-10-01 11:07:39
【问题描述】:

我希望使用 RSelenium 将一些基因名称输入到在线存储库中,该存储库会为所述基因创建功能注释热图。

但是,我正在努力研究如何将基因列表输入到文本框中以生成热图。

这是文本框的图像和与之关联的 html。

到目前为止,我的代码(见下文)可以成功导航到适当的页面,并选择适当的文本框,但我不知道如何输入文本,使得底部的基因列表html 代码被添加到就像我手动输入基因一样。请注意,您在图像文本框中看到的基因是手动输入的。

#####  Load driver and navigate to site  #####
driver <- rsDriver(browser=c("chrome"), chromever="80.0.3987.106")
remDr <- driver[["client"]]
remDr$navigate("http://solo.bmap.ucla.edu/shiny/webapp/")

## Select heatmap option
gene_toggle <- remDr$findElement(using = 'css',  '[class="dropdown-toggle"]')
gene_toggle$clickElement()
input <- remDr$findElement(using = 'css', '[data-value="panel-Heatmap"]')
input$clickElement()

## Input gene list to text box - not working yet - can't get text to enter properly
gene_select <- remDr$findElement(using = 'css', '[class="selectize-input items not-full has-options has-items"]')
gene_select$clickElement()

##### NOTE I HAVE TRIED THESE OPTION BELOW ....
gene_select$sendKeysToElement("NEUROD1")
gene_select$sendKeysToElement(list("NEUROD1"))
gene_select$sendKeysToElement(list("NEUROD1", key = "enter"))
gene_select$sendKeysToElement(list("NEUROD6, NEUROD2"))

我觉得我快到了,但不确定我是否选择了错误的元素或错误地格式化了 sendKeysToElement 命令。我对 RSelenium 还很陌生。

任何建议将不胜感激。

【问题讨论】:

    标签: html r web-scraping rselenium


    【解决方案1】:

    您确实快到了,只需要在您的gene_select 中选择&lt;input&gt; 元素:

    input <- gene_select$findChildElement(using = 'xpath', value = 'input')
    input$sendKeysToElement(list("NEUROD2", key = "enter"))
    

    【讨论】:

    • 非常感谢!你不知道我试图让它工作的那两条线有多少次迭代!我觉得这很简单——至少如果你知道怎么做的话!我不使用 html,所以一直在蒙混过关。我将在 24 小时内向您奖励赏金,因为出于某种原因,直到那时我才允许这样做。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    相关资源
    最近更新 更多