Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RSelenium从Javascript列表中选择下拉列表/组合框值_Javascript_R_Selenium_Web Scraping_Rselenium - Fatal编程技术网

RSelenium从Javascript列表中选择下拉列表/组合框值

RSelenium从Javascript列表中选择下拉列表/组合框值,javascript,r,selenium,web-scraping,rselenium,Javascript,R,Selenium,Web Scraping,Rselenium,我正在尝试使用RSelenium从网站下载csv文件。我进入页面,这是一个Crystal Report Viewer,选择export按钮的元素并单击该按钮。然后出现一个导出窗口,其中包含一个文件格式选择。我能够找到下拉列表中的元素,但列表的值有问题。这些值似乎来自一个非常长的javascript脚本,如下所示: <script type="text/javascript" language="JavaScript"> `{"args":` `{“args”:` {“args”

我正在尝试使用RSelenium从网站下载csv文件。我进入页面,这是一个Crystal Report Viewer,选择export按钮的元素并单击该按钮。然后出现一个导出窗口,其中包含一个文件格式选择。我能够找到下拉列表中的元素,但列表的值有问题。这些值似乎来自一个非常长的javascript脚本,如下所示:

<script type="text/javascript" language="JavaScript">
`{"args":`

`{“args”:`
{“args”:{“id”:“CrystalReportViewer_exportUI”,“availableFormats”:[{“名称”:“CrystalReports(RPT)”,“值”:“CrystalReports”},{“名称”:“PDF”,“值”:“Microsoft Excel(97-2003)”,“值”:“MSExcel”},{“名称”:“仅Microsoft Excel(97-2003)数据”,“值”:“RecordToMSExcel”},{“名称”:“Microsoft Word(97-2003)”,“值”:“MSWord”},{“名称”:“Microsoft Word(97-2003)-可编辑”,“值”:“可编辑RTF”},{“名称”:“富文本格式(RTF)”,“值”:“RTF”},{“名称”:“分隔值(CSV)”,“值”:“CharacterSeparatedValues”},{“名称”:“XML”,“值”:“XML”}]`
`

下拉框如下所示:

<script type="text/javascript" language="JavaScript">
`{"args":`
我能够找到与上述下拉框相关的元素

当我单击下拉菜单时,上面的列表显示。当我在选择其中一个值的同时查看HTML元素时,我选择的值在HTML代码中得到更新——我是从Javascript列表中假设的。单击“分离值(CSV)”后,看起来如下所示:

分隔值(CSV)

我尝试使用以下代码,但不起作用:


WebElemFileFormat在做了更多的研究之后,我决定使用另一种方法。我会保留这个,以防有人遇到类似的问题。我注意到,在使用下拉框后,我可以使用向下箭头或标签向下移动列表

我使用以下代码完成了我想在上述问题中完成的内容:

`WebElemFileFormat <- remDr$findElement(using = 'id', "id_name")
remDr$setImplicitWaitTimeout(milliseconds = 10000)
WebElemFileFormat$clickElement()
remDr$sendKeysToActiveElement(list(key = 'tab'))
remDr$sendKeysToActiveElement(list(key = 'tab'))
remDr$sendKeysToActiveElement(list(key = 'tab'))
remDr$sendKeysToActiveElement(list(key = 'tab'))
remDr$sendKeysToActiveElement(list(key = 'tab'))
remDr$sendKeysToActiveElement(list(key = 'tab'))
remDr$sendKeysToActiveElement(list(key = 'tab'))
remDr$sendKeysToActiveElement(list(key = 'enter'))
`

`WebElemFileFormat我也有类似的问题,但希望按名称选择下拉项。它也不起作用。就箭头而言,可能您写错了名称。键入
selKeys
并查看名称;箭头是
向下箭头
,等等。