0

我有以下html。

<div class="toggle_checkbox switchLogin aligned" data-section="secure_content" data-switch="no">

当我浏览到页面时,我希望测试数据开关是否设置为否。我尝试过这样的事情:

result = page.find('.toggle_checkbox switchLogin aligned').data-switch
assert result == 'no'

但这不起作用。有人知道我如何使用水豚来验证这一点吗?

谢谢!

4

1 回答 1

1

你想做:

result = page.find('.toggle_checkbox.switchLogin.aligned')['data-switch']
assert result == 'no'

有几点需要注意。

当使用多个类定位一个元素时(即类属性有多个用空格分隔的单词),css-selector 需要在每个单词前面放一个句点。

css 选择器:

.toggle_checkbox switchLogin aligned

实际上意味着找到一个具有类“toggle_checkbox”的元素,在其中找到一个“switchLogin”类型的元素,然后在该元素中找到一个“aligned”类型的元素。

你真正想要的是:

.toggle_checkbox.switchLogin.aligned

这意味着要找到一个具有“toggle_checkbox”、“switchLogin”和“aligned”类的元素。

其次,要获取元素的属性值,是使用[]方法完成的。的内容[]是与属性名称匹配的字符串。所以格式基本上是:

element['attribute_name']

在你的情况下,它是:

element['data-switch']

(其中 element 是找到的元素)

于 2013-09-06T16:35:04.957 回答