R - Rselenium - 导航下拉菜单/列表/框使用='id' [英] R - Rselenium - navigate drop down menu / list / box using = 'id'

查看:364
本文介绍了R - Rselenium - 导航下拉菜单/列表/框使用='id'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何通过using =id导航动态下拉列表(例如, remDr $ findElement(using ='id',value =main_ddYear)

How can I navigate a dynamic drop down list via " using = 'id' " (e.g., remDr$findElement(using='id', value="main_ddYear") ?

我可以找到并点击使用 findElement 。点击后可以发送向下箭头键击键)和输入,如果我知道我的目标选择是多少箭头。

I can find and click using findElement. After clicking I could send "down arrow" keys (keystrokes) and an "enter" if I know how many arrows down my targeted selection is.

页面来源的示例

<select name="main$ddYear" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;main$ddYear\&#39;,\&#39;\&#39;)&#39;, 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>

我想做som道德类似于这篇文章的解决方案,但使用'id'而不是'xpath'。我无法适应xpath解决方案。

I would like to do something similar to the solution in this post but with 'id' instead of 'xpath' . I could not adapt the xpath solution.

Java中的另一个解决方案使用我没有找到的选择类,在快速入门教程文档

Another solution in Java used a "Select" class which I did not find referenced in the quick start tutorial or documentation.

我将发布一个单独的问题,关于如何清除选项/值的下拉列表。

I will post a separate question about how to scrape the drop down list of options / values.

推荐答案

有关XPath的一些了解,适应使用XPath的链接解决方案应该很简单,例如:

With a little knowledge about XPath, adapting the linked solution which using XPath for your case should be straightforward, for example :

option <- remDr$findElement(using = 'xpath', "//select[@id='main_ddYear']/option[@value='2014']")
option$clickElement()

关于XPath的简要说明:


  • //选择[@ id ='main_ddYear'] 在HTML中的任何位置查找< select> 元素,其中 id 属性值等于 main_ddYear'

  • / option [@value ='2014'] :从这样的< select> 元素,返回child < option> 其中 value 属性值等于'2014'

  • //select[@id='main_ddYear'] : Find <select> element, anywhere in the HTML, where id attribute value equals 'main_ddYear'
  • /option[@value = '2014'] : From such <select> element, return child <option> where value attribute value equals '2014'.

这篇关于R - Rselenium - 导航下拉菜单/列表/框使用='id'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆