Javascript 使用InternetExplorer.Application获取会话cookie
假设我使用InternetExplorer.Application按语法导航到一个网站,而该网站又设置了一个会话cookie,我如何访问该cookie的值(此时仅在内存中) 我能想到的唯一方法是在Document.Body.InnerHTML中添加一些客户端脚本,然后用.Navigate(“javascript:functionName()”)调用该脚本。假设该函数将依次创建一个元素,该元素的值为所讨论的cookie,我可以在该点检索该cookie 然而,这似乎很复杂,我还没有成功。请告诉我有一个更简单的方法 编辑:Rick Strahl在另一个论坛上回答了我的问题。显然,我没有仔细阅读文档,因为有一个document.cookie属性可以在没有任何复杂过程的情况下为我提供答案Javascript 使用InternetExplorer.Application获取会话cookie,javascript,automation,Javascript,Automation,假设我使用InternetExplorer.Application按语法导航到一个网站,而该网站又设置了一个会话cookie,我如何访问该cookie的值(此时仅在内存中) 我能想到的唯一方法是在Document.Body.InnerHTML中添加一些客户端脚本,然后用.Navigate(“javascript:functionName()”)调用该脚本。假设该函数将依次创建一个元素,该元素的值为所讨论的cookie,我可以在该点检索该cookie 然而,这似乎很复杂,我还没有成功。请告诉我有一
现在,我是否要否决我自己的问题 为了完整起见,我把我在上面问题中添加的答案作为这里的答案 答案很简单,这里有一个document.cookie属性,它将给出我所寻找的值。我发现,困难在于找到可通过InternetExplorer.Application对象访问的DOM的官方文档。VisualStudio中的Intellisense没有显示此属性(至少对我来说),所以我假设没有 我想我在这里找到了DOM的官方文件: 而cookie属性在这里特别重要:
希望这有助于人们避免在将来追逐自己的尾巴。感谢brettbaggott为我指明了正确的方向。以下是相关人员的代码:
Private Declare Sub Sleep Lib "kernel32" _
(ByVal dwMilliseconds As Long)
Private Function getCookie()
Dim myIe As Object
Set myIe = CreateObject("InternetExplorer.Application")
myIe.Visible = False
myIe.Navigate "http://someurl"
Do While myIe.Busy
Sleep 20
Loop
getCookie= myIe.Document.cookie
End Function