使用Canopy可以保存网站的生成的 HTML吗?查看'Getting Started'下的文档,我找不到任何相关内容。
答案 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#问题。