LWR*_*RMS 2 xpath r drop-down-menu rselenium
如何通过“ using = 'id' ”导航动态下拉列表(例如,remDr$findElement(using='id', value="main_ddYear")?
我可以找到并点击使用findElement。单击后,我可以发送“向下箭头”键(击键)和“输入”,如果我知道我的目标选择向下有多少箭头。
页面源示例
<select name="main$ddYear" onchange="javascript:setTimeout('__doPostBack(\'main$ddYear\',\'\')', 0)" id="main_ddYear" class="groupTextBox">
<option selected="selected" value="2017">2017</option>
<option value="2016">2016</option>
<option value="2015">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我想做一些类似于这篇文章中的解决方案,但使用 'id' 而不是 'xpath' 。我无法适应 xpath 解决方案。
Java 中的另一个解决方案使用了“Select”类,我在快速入门教程或文档中没有找到该类。
我将发布一个关于如何刮取选项/值下拉列表的单独问题。
对 XPath 有一点了解,调整使用 XPath 的链接解决方案应该很简单,例如:
option <- remDr$findElement(using = 'xpath', "//select[@id='main_ddYear']/option[@value='2014']")
option$clickElement()
Run Code Online (Sandbox Code Playgroud)
关于 XPath 的简要说明:
//select[@id='main_ddYear']: 查找<select>元素,在 HTML 中的任何地方,id属性值等于'main_ddYear'/option[@value = '2014']:从这样的<select>元素,回归孩子<option>在那里value属性值等于'2014'。