访问Watir中的<p>,它没有属性

时间:2015-11-17 11:31:46

标签: ruby cucumber watir

我有这个HTML代码。

<div class="main" data-reactid=".0.2.1.1">
  <div contenteditable="true" data-reactid=".0.2.1.1.0" autocomplete="off">
    <p>
       <br>
    </p>
  </div>
</div>

我必须用

标签写。为此,我写道:

paragraph(:article_title) {div_element(:class=>'main').div(:index=>1).paragraph(:index=>1)}

但它出错了。我不明白这有什么不妥。

1 个答案:

答案 0 :(得分:0)

有几个问题:

  1. Watir使用基于0的索引。因此,div(:index=>1)实际上意味着找到第二个div标签。由于这不存在,您将无法找到元素错误。
  2. divparagraph不是page-object gem中定义的方法。尝试使用它们时会出现弃用错误。它应分别为div_elementparagraph_element
  3. 尝试做:

    paragraph(:article_title) {div_element(:class=>'main').div_element(:index=>0).paragraph_element(:index=>0)}

    更简单,因为隐含:index => 0

    paragraph(:article_title){div_element(:class=>'main').div_element.paragraph_element}

    由于只有一个段落元素,您可以进一步将其简化为:

    paragraph(:article_title) {div_element(:class=>'main').paragraph_element}