从网站选择下拉列表

问题描述 投票:0回答:1

这是我第一次尝试从网页中提取Excel报告。我的代码应如何工作的顺序如下:

  1. 初始URL-带来网站主页(浏览器中保存的用户名和密码以自动登录)-image1
  2. 点击“报告”
  3. 出现新页面(图像2)
  4. 从dropdown_module中选择。
  5. 从dropdown_reports中选择合适的。
  6. 在dropdown_reports中的选择将创建一个新的dropdown_project。
  7. 从dropdown_project中选择
  8. 单击淹没报告(image3)
  9. 提供下载路径。

    image41图片12image23image3 4

我能够达到第3点,但无法继续前进。在dropdown_module上使用inspect元素时,我得到了代码(image4)

到目前为止,我的使用情况如下:

Set IE = CreateObject("InternetExplorer.Application")
URL = Range("hr_url").Value
IE.Visible = True
IE.navigate URL
Application.StatusBar = " is loading. Please wait..."
Do While IE.readyState = 4: DoEvents: Loop
Do Until IE.readyState = 4: DoEvents: Loop
Application.StatusBar = " Loaded"

Set doc = IE.document
For Each element In doc.all
    If InStr(element.ID, "08191") > 0 Then
        If InStr(element.ID, "AppPress:12") Then
            element.Focus
            element.Click
        End If
    End If
Next element

Application.Wait (5)


Do
DoEvents
Loop Until IE.readyState <> 4

Set doc = IE.document
For Each element In doc.all
    If InStr(element.ID, "0261") > 0 Then
        If InStr(element.ID, "AppPress:6") Then
          MsgBox "element is found"
          element.Options(0).Selected = True
        End If
    End If
Next element

该代码无法找到下拉列表元素并选择所需的0索引。任何人都可以在这里提出问题吗?

excel vba dropdown
1个回答
0
投票

我不知道用VBA刮是可能的。 (抓取是通过软件从网络中提取信息的技术的调用方式)

您应该发现此问题有用:

Scraping data from website using vba

我不知道使用VBA进行此操作的可能性以及其他局限性,这些可能性可能仅限于Internet Explorer。我为此所做的小事都是使用python和一个名为beautifulSoup的库,真是太神奇了!

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

[如果您感到好奇,您可能想深入研究它,因为它非常简单,并且使用谷歌搜索您想做的事情可能会使您走得很远,也想用提取的信息创建一个excel文件。] >

希望有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.