我有以下html。
<div class="toggle_checkbox switchLogin aligned" data-section="secure_content" data-switch="no">
当我浏览到页面时,我希望测试数据开关是否设置为 no。我尝试过这样的事情:
result = page.find('.toggle_checkbox switchLogin aligned').data-switch
assert result == 'no'
但这行不通。有人知道我如何使用水豚验证这一点吗?
谢谢!
你想做:
result = page.find('.toggle_checkbox.switchLogin.aligned')['data-switch']
assert result == 'no'
有几点需要注意。
当使用多个类定位元素时(即类属性有多个用空格分隔的单词),css 选择器需要在每个类前面放置一个句点。
css 选择器:
.toggle_checkbox switchLogin aligned
实际上意味着找到一个类为"toggle_checkbox"的元素,在该元素中查找类型为"switchLogin"的元素,然后在该元素中查找类型为"对齐"的元素。
你真正想要的是:
.toggle_checkbox.switchLogin.aligned
这意味着找到一个类为"toggle_checkbox"、"switchLogin"和"aligned"的元素。
其次,要获取元素的属性值,请使用 []
方法完成。[]
的内容是与属性名称匹配的字符串。所以格式基本上是:
element['attribute_name']
在您的情况下,它是:
element['data-switch']
(其中元素是找到的元素)