我尝试运行fin函数,但由于某种原因我返回nil。 我要搜索的项目必须在那里,如何获取html以查看出了什么问题?
答案 0 :(得分:1)
我有两个帮助程序,可以接收小袋鼠会话。
第一个将可见文本打印到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
答案 1 :(得分:0)
我不知道这是否是您的问题,但是当我在此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()
之后加上它),然后小袋鼠会找到该元素。根据{{1}}规范,您不能将div标记放在p标记内,而打开的html5
标记将导致浏览器进入close the p tag,如下所示:
div
我认为小袋鼠无法解析非法html并找到p标签。您可以尝试在html validator上运行html,然后再尝试使用电子钱包。