gpt4 book ai didi

excel - 如何使用 VBA 在 Internet Explorer 中单击按钮

转载 作者:行者123 更新时间:2023-12-04 22:28:15 26 4
gpt4 key购买 nike

我看到了一些示例,这些示例解释了如何通过 VBA 在 Internet Explorer 中单击按钮。但是,我需要使用的网站无法正常工作。
*它没有“id”。我看到了函数 querySelector,但它并没有很好地工作。
网站:http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/TxRef1.asp

Sub Download()

Dim user, password As Variant

Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/TxRef1.asp"
IE.Visible = True

While IE.Busy
DoEvents
Wend

Application.Wait (Now + TimeValue("00:00:02"))
'Preencher o Login e Senha
IE.Document.querySelector("img[src='images/toolbar/b_edit.gif']").Click

End Sub

最佳答案

您的选择器错误

html是

<img style="CURSOR:HAND" src="http://www.bmf.com.br/bmfbovespa/images/comum/btoExcel.gif" align="absmiddle" hspace="0" onclick="salvaxls()">

您可以使用以下属性 = 值选择器
[onclick='salvaxls()']

您还可以将 $ 与运算符一起使用并以 src 为目标
[src$='btoExcel.gif']

使用适当的页面加载等待您有如下
Option Explicit
'VBE > Tools > References:
' Microsoft Internet Controls
Public Sub RetrieveInfo()
Dim ie As InternetExplorer
Set ie = New InternetExplorer

With ie
.Visible = True
.Navigate2 "http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/TxRef1.asp"

While .Busy Or .readyState < 4: DoEvents: Wend

.document.querySelector("[src$='btoExcel.gif']").Click

Stop

End With
End Sub

有很多 existing answers on SO关于如何与保存/打开对话框交互。就个人而言,我更喜欢使用 selenium basic 自动化并使用 Chrome 来完全避免这个问题

关于excel - 如何使用 VBA 在 Internet Explorer 中单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55654494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com