在 Watir 中访问没有属性的 <p>
accessing a <p> in Watir, which doesn't have attribute
我有这个 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)}
但是它给出了一个错误。我不明白这有什么问题。
有几个问题:
- Watir 使用基于 0 的索引。结果,
div(:index=>1)
实际上意味着找到第 2 个 div 标签。由于这不存在,您将收到无法定位元素的错误。
div
和 paragraph
不是页面对象 gem 中定义的方法。当您尝试使用它们时,您会遇到弃用错误。应该分别是div_element
和paragraph_element
。
尝试做:
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}
我有这个 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)}
但是它给出了一个错误。我不明白这有什么问题。
有几个问题:
- Watir 使用基于 0 的索引。结果,
div(:index=>1)
实际上意味着找到第 2 个 div 标签。由于这不存在,您将收到无法定位元素的错误。 div
和paragraph
不是页面对象 gem 中定义的方法。当您尝试使用它们时,您会遇到弃用错误。应该分别是div_element
和paragraph_element
。
尝试做:
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}