我正在使用watir使用while循环自动删除元素,但是当脚本到达结尾时它会出错,因为while循环所依赖的元素不再可见。反正有没有Watir进行测试?
以下是我的代码示例:
class Delete_element
def org_roster_remove
parameters = Tt_parameters.new
driver = Login.new.log_in(parameters.username3, parameters.password3)
while driver.a(:data_class, 'home.group.edit_group_btn').visible? == true
driver.p(:data_class, 'home.conv.messagePreview').hover
sleep(1)
driver.div(:class, 'delete').click
sleep(1)
driver.a(:data_class, 'home.conv.deleteFromRoster_btn').click
sleep(1)
end
driver.quit
end
end
这是错误:
Watir :: Exception :: UnknownObjectException:无法找到元素,使用{:data_class =>“home.group.edit_group_btn”,:tag_name =>“a”}
答案 0 :(得分:3)
我会用.present?而不是.visible?
还可以考虑使用.wait_until_visible而不是sleep。见Watir-webdriver Waiting。
此外,调查页面对象框架,例如Cheezy's page-object gem