簡體   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