<iframe>
<iframe>
是在 HTML 用来内嵌另外一个 HTML 网页的,例如 SurveyCake 就有这样的功能
<iframe id="surveycake" width="100%" height="600px" src="https://surveycake.com/s/?????"
style="border:#ddd 1px solid;" allowTransparency="true" frameborder="0"></iframe>
而在使用 Nightwatch 测试网站时,遇到 iframe 是不能直接读取 iframe 里面的文字的。
会出现像这样的错误:
"element could not be located" (5544ms)
这是因为 Nigthwatch 或应该说 WebDrive 抓取的是 current browsing context
因此属於 iframe 当中的文字是抓取不到的
frame()
Nightwatch 有提供 .frame()
这个 API 可以使用,参数可以带 ID 或数字,从 0 开始
举例而言:
browser.frame(0)
browser.frame('surveycake')
退出 frame 只要使用 .frame(null)
或 .frameParent()
即可。
如果 frame 是动态载入的,使用 frame ID 则不一定抓取得到。而 frame 的 number 也不是由上而下来决定 0, 1, 2, ... 的。
因此,使用前最好还是试一下正确的 frame number,而动态载入抓取不到的部分,则可以利用 .getAttribute()
取得 src 在新分页进行检查。
browser.getAttribute('section iframe', 'src', function(result) {
.verify.containsText('[aria-label="intro"]', 'intro');
}
>>: DAY 21 Big Data 5Vs – Variety(速度) Kinesis (1)
我们终於进到写程序的部分了,前几天我们都在教学基本的使用,今天就让我来教大家吧!我们就先开到程序档的...
问题回答 Vue 3 会为 data 建立一个 Proxy 物件,并在里面建立 getter 和 s...
前言 BMI 作业做得还好吗?不知道你有没有完成,但是这边时间不等人,所以我们就接着聊聊下一个主题吧...
Fluent bit回顾 Log Agent - Fluent Bit 简介 Log Agent -...
今天来练习切这个画面 运用到的观念 flexbox google fonts 字体& ico...