访问在Ruby with Selenium中选中复选框时出现的类属性

时间:2013-06-27 20:32:59

标签: html css ruby xpath selenium

我的标签如下所示:

<ul id="genres-bar" >

当用户选中“Romance”复选框时,带有更改的背景和标记将变为:

<ul id="genres-bar" class=" romance">

如何验证/访问此属性?总而言之,我想验证颜色发生了变化。

我注意到单击复选框后会出现此css片段:

#movies.gen-romance .m-gen-R {
    background-color: #FF0000;
}

未检查时它会消失。

我是html,css,xpaths等的新手,我可能只是找不到类似的问题,但到目前为止我的研究还没有给我一个我能理解的答案。

这个答案很有帮助但是在java中。我无法弄清楚如何将它应用于我的问题,但它看起来非常相似:

access css class properties in selenium

这是我到目前为止找到元素的尝试:

verify {@driver.find_element(:xpath, '//*[@id="genres-bar" @class=" romance"]')}

2 个答案:

答案 0 :(得分:2)

以下两部分可能对您有所帮助。虽然我不清楚你的需求:

css_value(prop)attribute(name)会很有帮助。在你的情况下。

@driver.find_element(:css, '#genres-bar').css_value('background-color')
# => '#FF0000'
@driver.find_element(:css, '#genres-bar').attribute('class')
# => " romance"

答案 1 :(得分:1)

你做这样的事情

verify {@driver.find_element(:xpath, '//*[@id="genres-bar"][@class=" romance"]')}

verify {@driver.find_element(:xpath, '//*[@id="genres-bar" and @class=" romance"]')}

你几乎得到了正确的xpath。