我有以下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'
但这不起作用。任何人都知道如何使用水豚验证这一点?
谢谢!
答案 0 :(得分:1)
你想这样做:
result = page.find('.toggle_checkbox.switchLogin.aligned')['data-switch']
assert result == 'no'
有几点需要注意。
当使用多个类定位元素时(即类属性有多个用空格分隔的单词),css选择器需要在每个类的前面放置一个句点。
css选择器:
.toggle_checkbox switchLogin aligned
实际上意味着找到一个带有“toggle_checkbox”类的元素,在其中找到一个“switchLogin”类型的元素,然后在那个类型为“aligned”的元素中。
你真正想要的是:
.toggle_checkbox.switchLogin.aligned
这意味着找到一个类别为“toggle_checkbox”,“switchLogin”和“aligned”的元素。
其次,要获取元素的属性值,可以使用[]
方法完成。 []
的内容是与属性名称匹配的字符串。所以格式基本上是:
element['attribute_name']
在你的情况下,它是:
element['data-switch']
(其中element是找到的元素)