これを行う方法を見つけましたが、正確な実装については決定していません。
Javascript では、任意の関数を上書きできます。つまり、confirm
これは、次のコードを実行してポップアップを無効にできることを意味します。
def disable_popups
# don't return anything for alert
browser.execute_script("window.alert = function() {}")
# return some string for prompt to simulate user entering it
browser.execute_script("window.prompt = function() {return 'my name'}")
# return null for prompt to simulate clicking Cancel
browser.execute_script("window.prompt = function() {return null}")
# return true for confirm to simulate clicking OK
browser.execute_script("window.confirm = function() {return true}")
# return false for confirm to simulate clicking Cancel
browser.execute_script("window.confirm = function() {return false}")
end
これをinitalize_page
a の関数内に配置するとpage-object
、ダイアログは自動的に削除されます。
def initialize_page
disable_popups
end
または、ポップがトリガーされる直前に行うこともできます
def delete
disable_popups
delete_link # => clicks the link
end
参考文献: