Ruby 访问a<;p>;在瓦蒂尔,它不';没有属性
我有这个html代码Ruby 访问a<;p>;在瓦蒂尔,它不';没有属性,ruby,cucumber,watir,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> 我得用标签写。为此,我写道: 段落(:article\
<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>
我得用标签写。为此,我写道:
段落(:article\u title){div\u元素(:class=>main').div(:index=>1)。段落(:index=>1)}
但这是一个错误。我不明白这是怎么回事。有几个问题:
div(:index=>1)
实际上意味着查找第二个div标记。由于这不存在,您将得到一个无法定位元素错误div
和段落
不是页面对象gem中定义的方法。当您尝试使用它们时,将出现弃用错误。它应该分别是div\u元素
和段落元素
段落(:article\u title){div\u元素(:class=>main')。div\u元素(:index=>0)。段落元素(:index=>0)}
更简单地说,因为:index=>0
意味着:
段落(:article\u title){div\u元素(:class=>main').div\u元素.paragration\u元素}
由于只有一个段落元素,您可以进一步将其简化为:
paragraph(:article_title) {div_element(:class=>'main').paragraph_element}
如果您与他人分享您遇到的错误,这会有所帮助。只有一个
。所以不应该在索引=>0
?。在第一个例子中,用它写文本也不起作用。我尝试了self.idea\u title\u element=“Hello World”
和self.idea\u title=“Hello World”
对不起,是的,应该是:index=>0
(已修复)。访问器不会创建任何方法来设置div
或p
标记的值。您可能需要执行self.idea\u title\u元素。发送密钥(“Hello World”)
。我相信在本例中,您实际上希望以div
为目标,而不是p
标记(因为div
是具有contenteditable
属性的标记)。但是在另一个类中,在文本字段(:username,:id=>“username”)
中,我没有使用发送密钥。我使用了self.username=“auto\u user”
。那为什么不在这里呢?