繁体   English   中英

如何在小袋鼠中获取HTML页面

[英]How to get html page in wallaby

我尝试运行fin函数,但由于某种原因我返回nil。 我要搜索的项目必须在那里,我如何获取html以查看出了什么问题?

我有两个帮助程序,可以接收电子钱包会话。

第一个将可见文本打印到STDOUT:

  def print_page_text(session) do
    session |> Wallaby.Browser.text() |> IO.inspect()
    session
  end

第二个函数将完整的HTML页面源打印到STDOUT:

  def print_page_source(session) do
    session |> Wallaby.Browser.page_source() |> IO.inspect()
    session
  end

通过返回会话,可以在普通的袋鼠查询/断言之间使用这些功能:

session
|> visit("/example/page")
|> print_page_text()
|> assert_text("Hello World!")

另一个有用的功能是Wallaby.Browser.take_screenshot / 2

我不知道这是否是您的问题,但是当我尝试在此html上使用鼠袋鼠时:

<p class="results"><div class="green">That's all folks!</div></p>

与此find()

find(css(".results", count: 1))

我得到了错误:

**(Wallaby.QueryError)期望找到1个与css'.results'相匹配的可见元素,但找到0个可见元素。

但是,如果我将html更改为此:

<div class="results"><span class="green">That's all folks!</span></div>

并且我使用相同的find() (顺便说,它不会返回列表,所以不要在List.first()跟随它),然后小袋鼠会找到该元素。 根据html5规范,您不能将div标签放在ap标签内,而打开div标签将导致浏览器关闭p标签 ,如下所示:

                   HERE
                    |
                    V
<p class="results"></p><div class="green">That's all folks!</div></p>

我认为小袋鼠不能解析非法的html并找到p标签。 您可以先尝试通过html验证程序运行html,然后再尝试使用鼠袋鼠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM