<button class="class1">
<span class="class2">Text</span>
</button>
我在页面上有几个按钮实例。我想在通过class1
找到span
之后,点击带有class2
的按钮。单击按钮后,class2
变为class3
。然后,我要循环执行此操作,直到所有class2
都变为class3
。
这是我目前正在做的事情:
while browser.span(:class => "class2").present? == true
media = browser.spans(:class => "class2")
media.each { |val|
val.parent.button(:class => "class1").click
sleep(1)
}
end
与val.parent.click
进行斗争。我知道我不应该使用睡眠,但这只是为了测试。
任何帮助将不胜感激。
答案 0 :(得分:0)
第val.parent.button(:class => "class1").click
行将在跨度的父元素内寻找一个按钮元素。有了HTML结构,您只需转到父元素-即value.parent.click
。
我认为您可以做到:
media = browser.spans(:class => "class2")
media.each { |val|
val.parent.click
val.wait_until { |e| e.class_name == "class3" }
}
请注意,我省略了外部while
循环。除非将跨度切换回“ class2”,否则我认为没有必要。