【问题标题】:Elixir Hound wait for page to loadElixir Hound 等待页面加载
【发布时间】:2016-05-09 01:00:01
【问题描述】:

我正在提交一个登录表单,然后尝试使用 elixir / hound 捕获 HTML。提交后,我运行page_source 并一无所获。如果我等待一秒钟(页面完成加载),然后我会取回 html。

有没有办法让 hound 等到页面加载完成?

我目前正在做::timer.sleep(2000) 作为解决方法,希望有更好的方法:/

【问题讨论】:

  • 您使用什么代码来导航/发布您的表单?
  • 我正在导航到我的登录页面,添加用户名/密码,然后我运行click({:class, "loginButton"})

标签: elixir selenium-chromedriver hound


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-13
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2020-01-04
    • 2017-03-27
    相关资源
    最近更新 更多