RSelenium click元素返回NULL

时间:2016-10-12 19:05:01

标签: r selenium xpath selenium-webdriver rselenium

我希望能够自动填写following test。在每个短语之后,您可以选择Eens(我同意)或Oneens(我不同意)。我使用RSelenium来做到这一点。

加载我的浏览器和第一个短语完全没有问题。但是,我无法选择绿色或红色框。我使用以下代码:

 choice_xpath <- "//*[contains(.,'Eens')]"

 choice <- driver$findElement(using = "xpath",
                              choice_xpath)

 choice$clickElement()

当我执行上面的代码时,返回NULL。由于没有找到&#39;元素&#39;错误被返回我想我点击了一个存在但无法点击的元素。但是,如果情况确实如此,那我可以点击什么元素。

我认为这是理解问题所需的HTML:

<script type="text/template" id="statements-tpl"></script> 
<script type="text/template" id="statement-tpl"> 
<span class="prev-button"><span>&lt;</span></span> 
<div class="copy"> 
<div class="copy-inner">{{ copy }}</div> </div> 
<div class="button-wrap"> 
<div class="button-container"> 
<div class="button button-1">
</div> 
</div> 

<div class="button-container"> 
<div class="button button-0"></div> 
</div> 

<div class="button-container no-opinion"> 
<div class="button button-2"></div> 
</div> 
</div> 

<span class="next-button"><span>&gt;</span></span>
</script> 

<script type="text/template" id="button-tpl"> 
<div class="button-inner-wrapper"> 
<div class="button-inner{{ selected ? ' selected' : '' }}"> 
<div class="prefix">Jouw antwoord:</div> 
<div class="copy"> {{% if ( type == 2 ) { %}} Geen mening {{% } else if ( type == 0 ) { %}} Oneens {{% } else { %}} Eens {{% } %}} </div> 
<div class="error-tooltip"></div> 
</div> 
</div>
</script> 

1 个答案:

答案 0 :(得分:0)

尝试使用下面的定位器找到合适的元素: -

  • 要找到EENS(Agree)按钮,请尝试: -

    eens <- driver$findElement(using = "css selector", "div.button.button-1")
    eens$clickElement()
    
  • 要找到ONEENS(DisAgree)按钮,请尝试: -

    oneens <- driver$findElement(using = "css selector", "div.button.button-2")
    oneens$clickElement()
    
  • 要找到GEEN MENING(No Opinion)按钮,请尝试: -

    geenmeening <- driver$findElement(using = "css selector", "div.button.button-0")
    geenmeening$clickElement()