微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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类.

原文地址:https://www.jb51.cc/ruby/268792.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐