[英]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.