Html 使用Excel VBA将焦点设置为IE PDF样式的网页以进行抓取

Html 使用Excel VBA将焦点设置为IE PDF样式的网页以进行抓取,html,css,excel,vba,internet-explorer,Html,Css,Excel,Vba,Internet Explorer,我浏览了这个受密码保护的网站,找到了一个点,它打开了一个类似子窗口的窗口,但有一个类似的URL。”http://yadayadayada**.pdf**?V42“ 虽然它是一个PDF文件,但我可以手动点击它来选择和复制数据 我的问题是通过代码设置它的焦点 我已经尝试了许多不同的方法来循环打开页面的URL,但它无法识别,我也无法将焦点设置为这一个 如果其他方法都失败了,我可以将其保存为PDF格式,通过Adobe打开并从中删除。我不确定我是否真的理解您的要求。下面的代码测试每个打开的应用程序是否是I

我浏览了这个受密码保护的网站,找到了一个点,它打开了一个类似子窗口的窗口,但有一个类似
的URL。”http://yadayadayada**.pdf**?V42“

虽然它是一个PDF文件,但我可以手动点击它来选择和复制数据

我的问题是通过代码设置它的焦点

我已经尝试了许多不同的方法来循环打开页面的URL,但它无法识别,我也无法将焦点设置为这一个


如果其他方法都失败了,我可以将其保存为PDF格式,通过Adobe打开并从中删除。

我不确定我是否真的理解您的要求。下面的代码测试每个打开的应用程序是否是Internet Explorer,如果是,是否有正确的url作为位置。评论中有更多信息

重要提示:无需激活选项卡即可从中提取数据。我也不知道如何在IE中将标签带到前台。不知怎的,没人知道;-)


您提供的代码仍然无法实现我对页面的要求,而页面只是复制/粘贴它。复制/粘贴始终默认为原始选项卡,而不是新打开的选项卡。它所做的是识别我需要的页面的URL,这样我就可以保存/重新打开/复制/粘贴并获得我需要的内容。有一个常见的代码字符串(Dim objShell,IE_count,x,my_url,childPage),我已经尝试过了,但没有给出url。你的是。这种方式非常奇怪,因为我可以手动单击页面并进行复制/粘贴。无论如何,我当然可以用这个,谢谢你。再次看了你的答案,Zwenn,是的,我不应该激活页面从中获取数据。从我的原始选项卡中,我打开了第二个选项卡,它是pdf页面,看起来它处于焦点位置,但Ctrl-a或IE.execWB 17,0会选择原始选项卡中的所有内容,而不是刚刚打开的内容。很奇怪
Sub ScrapeFromTabs()

Dim allShell As Object
Dim oneWindow As Object

  Set allShell = CreateObject("Shell.Application")
  
  'Go through all open windows
  'Each tab in IE is treated as a window by the OS.
  For Each oneWindow In allShell.Windows
    'Check if it is a window of the Internet Explorer
    If InStr(1, UCase(oneWindow.FullName), "IEXPLORE") > 0 Then
      'Check whether the relevant parts are present in the URL
      If InStr(1, oneWindow.locationURL, "yadayadayada") > 0 And InStr(1, oneWindow.locationURL, ".pdf") > 0 Then
        'Do here what you want with the pdf
        'Whatever is possible with a pdf ... somthing like this
        'set nodeHeadline = oneWindow.getElementsByTagName("h1")(0)
        
        'It was the right tab with the pdf
        'Leave the loop
        Exit For
      End If
    End If
  Next oneWindow
End Sub