我已经搜索过,黑客攻击,搜查和黑客攻击,但尚未提出解决方案。我试图在表格中找到一个项目,然后单击右侧其中一个单元格中的删除链接。我的页面对象代码找到并单击相应的链接就像一个冠军,但是,当确认弹出窗口出现时,从不单击确定按钮,因此不会删除该项目。我的页面对象如下。我添加了"睡眠5"只是为了验证我看到弹出窗口出现了。我根本不应该看到弹出窗口吗?
class ThingManagementPage
include PageObject
page_url "https://#{HOST_MAP['portal']}/customers/<%= params[:customer] %>/customer_things"
link(:things_and_prefixes, :text => 'ASNs & Prefixes')
link(:thing_sets, :text => 'AS Sets')
table(:things, :css => '.table-condensed')
links(:delete_thing, :title => 'Delete')
links(:edit_thing, :title => 'Edit')
def delete_thing(thing)
found = false
index = 0
self.things_element.each do |row|
if row[0].text == thing
self.confirm(true) do
self.delete_thing_elements[index-1].click
sleep 5
end
found = true
break
end
index += 1
end
fail "Failed to find and delete thing #{thing} on page!" unless found
end
end
答案 0 :(得分:0)
我解决了这个问题,然而,这似乎更像是一种黑客攻击,而且在使用页面对象时不应该是必需的。基本上,我替换了这个:
self.delete_thing_elements[index-1].click
@browser.switch_to.window("")
@browser.find_element(:xpath => '//div[2]/button[2]').click
调用selenium-webdriver切换到弹出窗口并单击OK按钮:
{{1}}