在我的ruby文件上执行此操作后:
browser = Watir::Browser.new
browser.goto 'anyWebsite.com'
puts browser.html > "~/index.html"
我获得了一个HTML代码但是使用了非解释的JavaScript。 例如,我得到类似的东西:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
我的问题是,如何在js解释之后获得HTML ?
答案 0 :(得分:2)
使用html
方法时,您将获得当前的DOM - 即javascript解释后的HTML。
例如,使用包含javascript的简单html页面添加按钮:
<html>
<body>
<script>
var btn=document.createElement("BUTTON");
document.body.appendChild(btn);
</script>
</body>
</html>
当你进入页面并获得浏览器html时,你可以看到它还包括javascript添加的按钮(参见第二行的末尾) - 即html是在javascript被解释之后:< / p>
browser.html
#=> <html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>
#=> <script>
#=> var btn=document.createElement("BUTTON");
#=> document.body.appendChild(btn);
#=> </script><button></button>
#=> </body></html>
同样,您可以看到特定元素的html也在解释之后:
browser.body.html
#=> <body>
#=> <script>
#=> var btn=document.createElement("BUTTON");
#=> document.body.appendChild(btn);
#=> </script><button></button>
#=> </body>