Rselenium-如何清除所有下拉列表选项值

Rselenium-如何清除所有下拉列表选项值,r,drop-down-menu,rselenium,R,Drop Down Menu,Rselenium,如何使用Rselenium从下拉列表中删除所有选项值 页面源示例: <select name="main$ddArea" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;main$ddArea\&#39;,\&#39;\&#39;)&#39;, 0)" id="main_ddArea" class="groupTextBox"> <option selected="s

如何使用Rselenium从下拉列表中删除所有选项值

页面源示例:

<select name="main$ddArea" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;main$ddArea\&#39;,\&#39;\&#39;)&#39;, 0)" id="main_ddArea" class="groupTextBox">
<option selected="selected" value="95182">Area 1</option>
<option value="95183">Area 2</option>
<option value="95184">Area 3</option>
<option value="95185">Area 4</option>
<option value="95186">Area 4</option>
</select>

getElementText()
查找一个文本字符串,例如,“区域1/n区域2/n区域3/n…”。但是文本以后不能用于导航下拉列表。换句话说,当使用
$findelement()
浏览下拉列表时,需要一个值来填充下拉列表;文本不起作用


似乎不包含对下拉列表的引用,也不包含

您可以使用
findElement
选择标记为目标,然后获取
outerHTML
并解析生成的html:

remDr$navigate("https://www.tutorialspoint.com/html/html_select_tag.htm")
webElem <- remDr$findElement("name", "dropdown")
appHTML <- webElem$getElementAttribute("outerHTML")[[1]]
doc <- htmlParse(appHTML)
doc["//option", fun = function(x) xmlGetAttr(x, "value")]

> doc["//option", fun = function(x) xmlGetAttr(x, "value")]
[[1]]
[1] "Data Structures"

[[2]]
[1] "Data Mining"
remDr$导航(“https://www.tutorialspoint.com/html/html_select_tag.htm")

webElem我不熟悉
rselenium
,但我认为您希望找到“option”元素(与
select
元素相反)并获取它们的“value”属性。尝试搜索ID为
main\u ddArea
(在您的示例中,您有
main$ddArea
?)的
select
的所有
选项
子项,然后获取“value”属性(而不是“option”属性).@mathematic.coffee是您所建议的,与问题所表明的由
$getElementAttribute('option')
尝试的不同吗?我对问题进行了编辑,以澄清所做的尝试。如果您建议使用
select
函数,我之前的研究表明,Rselenium不包括其他Selenium实现提供的
select
类。“option”在这里不是一个属性,它是一个标签,您需要它的“value”属性。首先,我要打破规则,说声非常感谢。你以前回答过我的Rsel问题,你的其他帖子也很有用。但是代码对我不起作用。我得到
appHTML,firefox和元素属性出现问题。看见这取决于您运行的firefox和selenium服务器的版本。作为替代方案,您可以使用如上所述的JavaScript。
dd.areas$getElementAttribute('value')
remDr$navigate("https://www.tutorialspoint.com/html/html_select_tag.htm")
webElem <- remDr$findElement("name", "dropdown")
appHTML <- webElem$getElementAttribute("outerHTML")[[1]]
doc <- htmlParse(appHTML)
doc["//option", fun = function(x) xmlGetAttr(x, "value")]

> doc["//option", fun = function(x) xmlGetAttr(x, "value")]
[[1]]
[1] "Data Structures"

[[2]]
[1] "Data Mining"
remDr$navigate("https://www.tutorialspoint.com/html/html_select_tag.htm")
webElem <- remDr$findElement("name", "dropdown")
jsScript <- "var element = arguments[0]; return element.outerHTML;"
appHTML <- remDr$executeScript(jsScript, list(webElem))[[1]]
doc <- htmlParse(appHTML)
doc["//option", fun = function(x) xmlGetAttr(x, "value")]

> doc["//option", fun = function(x) xmlGetAttr(x, "value")]
[[1]]
[1] "Data Structures"

[[2]]
[1] "Data Mining"