2011-05-18 101 views
6

我正在编写一个程序来验证远程服务器上的网页。它使用硒RC通过一系列测试运行Firefox,所以我可以调用任意的JavaScript。当出现故障时,我想记录该页面生成的HTML。现在,访问DOM HTML很容易,但我很难找到一种方法来获取源代码。谢谢。使用javascript从Firefox获取原始源代码

我应该重申,我不是在寻找DOM,而是原始的未经修改的源代码。通过右键单击 - >查看页面源可以看到。特别是如果 <Html> <body> <table> <tr> <td> fear the table data </td> </table>

是真正的HTML。调用document.documentElement.outerHTML || document.documentElement.innerHTMLselenium.getHTMLSource()将导致<head> </head><body> <table> <tbody><tr> <td> fear the table data </td> </tr></tbody></table> </body>

+0

我目前正在通过额外的请求使用http库来做到这一点,所以每个页面实际获取两次:使用硒和不使用。另外我经常注意到,在Firefox中查看页面源代码有一些滞后性,显然浏览器在引擎盖下是一样的。 – 2016-03-01 14:54:53

回答

2

XHR请求的源相同的页面,只是检查document.documentElement.outerHTML || document.documentElement.innerHTML对当前状态的来源。

+1

但是。我正在寻找原始的未修改的html源代码。 – Mark 2011-05-20 16:40:20

+0

我说过“XHR请求相同页面的来源”。 – 2011-05-20 19:56:58

+0

我可能(更可能)错过了一些东西,但是如果页面是动态的,它不一定会重新加载导致错误的相同html。 – Mark 2011-05-23 20:42:33

-1

你尝试过作为

document.documentElement.innerHTML; 
+0

。 – Mark 2011-05-20 14:49:03

-1

既然你也使用硒,您可以用selenium.getHTMLSource()这样简单的事情。这将返回整个源页面内容。

+1

这就是我在测试之前所假设的。调用实际上可能通过document.documentElement.innerHTML获取DOM的html版本;呼叫。 – Mark 2011-05-20 14:51:22