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

前端之家收集整理的这篇文章主要介绍了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类.

猜你在找的Ruby相关文章