2016-05-09 13 views
3

私はログインフォームを送信し、その後elixir/houndを使用してHTMLをキャプチャしようとしています。提出後、私はpage_sourceを実行し、何も得られません。私がページをロードするのを待ってから、もう一度htmlを取得します。Elixir Houndがページを読み込むのを待ちます

ページが読み込まれるまでハウンドを待機させる方法はありますか?

私は現在やっている:周りの仕事として:timer.sleep(2000)、より良い方法を望んで:/

+0

を使用して表示されるようにするために、この場合、私が待っていますか? –

+0

私は自分のログインページに移動してユーザー名/パスワードを追加してから、 'click({:class、" loginButton "})'を実行します。 – newUserNameHere

答えて

1

これは私が何をすべきかです:

が繰り返し試験条件ごとに100ミリ秒をチェックする関数を作成し、特定のテキストが、あなたのフォームをポスト/ナビゲートするために使用しているどのようなコード visible_page_text

@tag timeout: 6000 
test "My Test" do 
    assert wait_for(fn -> Regex.match?(~r/Success/, visible_page_text()) end) 
end 

def wait_for(func) do 
    :timer.sleep(100) 
    case func.() do 
    true -> true 
    false -> wait_for(func) 
    end 
end 
関連する問題