ruby – Selenium-Webdriver:找到元素后获取属性

我对自动化的东西还是比较新的,所以这听起来像是一个愚蠢的问题.
在发布问题之前,我确实谷歌搜索了它的地狱:)

无论如何,这是问题所在

我在Android设备上自动化测试
其中一项测试是验证某件商品是否已标记为“收藏”
页面代码段是:

<li class = "resultItem isFavorite" data-index="2">
<div class="name" data-cis="4ced6feb-3b5c-415a-ae1c-0b8bca8e3c85" onclick="return true">f,f</div>
</li>

我可以在列表中找到el = @ driver.find_element(:xpath,“// * [class =’name’和text()=’f,f’]”).我希望el.class会告诉我resultItem isFavorite.
相反,我得到的是:Selenium:WebDriver :: Element

如果某个项目未标记为收藏,则该字段中不会添加isFavorite标记.
我希望使用isFavorite来验证项目是否被标记为收藏,但我似乎无法将其变为变量.

任何帮助,将不胜感激.

谢谢,

杰夫

解决方法

你真正想要的是以下内容
# Note: Possibly incorrect Ruby code here. 
# Written from memory.
el = @driver.find_element(:xpath,"/your/xpath/here")
# Could also your el["class"]
element_class_attribute = el.attribute("class")

通常,使用大多数属性名称(如el.src)会给你一个运行时错误.但是,碰巧该类在Ruby中具有特殊含义,并且每个对象都有一个属性,即Ruby类.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...