使用Canopy保存生成的HTML

时间:2016-11-30 07:12:13

标签: html f# web-scraping save

使用Canopy可以保存网站的生成的 HTML吗?查看'Getting Started'下的文档,我找不到任何相关内容。

2 个答案:

答案 0 :(得分:4)

您可以使用js运行任意JavaScript,document.documentElement.outerHTML将返回当前的DOM,因此

let html = js "return document.documentElement.outerHTML" |> string

诀窍。

答案 1 :(得分:3)

Canopy是Selenium的包装器,它提供了一些有用的辅助函数。但是它还可以通过element function(页面中间位置)提供对Selenium IWebElement实例的访问,这些实例似乎不是该页面中的内部锚点所以我无法#39; t直接链接到该功能)。然后,在您拥有IWebElement对象后,您的问题就会变成this one,其中答案似乎是elem.getAttribute("innerHtml"),其中elem是您想要的内容的元素(可能是甚至是html元素。请注意,innerHtml属性不是标准DOM属性,因此不能使用所有Selenium驱动程序;它将取决于您运行的浏览器。但它显然适用于所有主要的Web浏览器。

有关使用Python的相关问题,请参阅Get HTML Source of WebElement in Selenium WebDriver using Python,其中有关于innetHtml属性是否适用于所有浏览器的更多讨论。如果它没有,Canopy 具有js功能,您可以利用该功能运行一些Javascript来获取您正在寻找的HTML - 但是如果您和#39;遇到麻烦,你可能需要问一个Javascript问题而不是F#问题。