2016-09-26 39 views
1

如何通過「使用=‘身份證’」導航動態下拉列表下拉菜單/列表/箱(例如,remDr$findElement(using='id', value="main_ddYear")的R - Rselenium - 導航使用=「ID」

我能找到和?單擊使用findElement。點擊我可以發送「向下箭頭」鍵(按鍵)後和「輸入」如果我知道有多少箭了我的有針對性的選擇。該頁面的源代碼

<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> 

樣品我想要做類似的解決方案但用'id'代替'xpath'。我無法調整xpath解決方案。

Java中的Another solution使用了一個「選擇」類,我在quick start tutorialdocumentation中找不到引用。

我會發佈一個單獨的問題,關於如何刮下選項/值的下拉列表。

回答

2

隨着有關XPath的一點知識,適應其使用XPath對你的情況應該是直接鏈接的解決方案,例如:

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

簡要說明有關XPath:

  • //select[@id='main_ddYear']:在HTML中的任意位置查找<select>元素,其中id屬性值等於'main_ddYear'
  • /option[@value = '2014']:從這樣<select>元素,返回子<option>其中value屬性值等於'2014'
+0

這是最簡單的方法(目標並單擊適當的選項)。您可以使用css選擇器作爲替代'remDr $ findElement(「css」,「#main_ddYear選項[value ='2014']」)' – jdharrison

+0

這兩個工作。我使用了CSS選擇器,所以@jdharrison的評論非常有用。兩個問題:1)早期的研究指出我關注於css選擇器與xpath。你們都同意嗎? 2)我發現我認爲使用css選擇器的很好的web資源,但沒有找到jdharrison的語法/技術參考。你能推薦一個明確的參考。如果這是常用的技術,也許我的搜索條件很差。 –