首页 > 解决方案 > Internet Explorer 上的 VBA

问题描述

我正在尝试使用 VBA 和 Internet Explorer 自动化 Intranet 网站中的流程。

首先要做的是单击访问 Intranet 中另一个屏幕的“按钮”,但我已经尝试了很多方法来做到这一点,但没有成功。你能帮我学习如何点击这个按钮吗?

我已经尝试过使用 querySelector 的方式并尝试搜索样式,说明跨度,但是我有更多具有相同样式的“按钮”,但这不起作用。

代码可以通过上述两种方式编译,但是,在 IE 屏幕中,不会发生......

<span style="font-weight: normal; font-family: Arial; font-size: 9pt; 
 font style: normal; text-decoration: none;">Invoiced<img alt="" 
   src="/QvAjaxZfc/QvsViewClient.aspx?datamode=binary&amp;name=LED&amp;host=QVS%40cbrcur01apcp480&amp;slot=&amp;public=only&amp;color=%2300f010&amp;xrfkey=nEDfFknqkhWgtMq9" 
 class="icon" style="height: 10px; width: 10px;"> 
 </span>

还有一个可以点击的Javascript,代码如下所示:

<li id="Document\SH05" rel="DocumentSH05" order="1" style="display: list-item;"> <a href="javascript:;" 
style="color: rgb(255, 255, 255); background: rgb(175, 40, 63);"> 
<span style="font-weight: normal; font-family: Arial; font- size: 9pt; font-style: normal; text-decoration: none;">
Invoiced<img alt="" src="/QvAjaxZfc/QvsViewClient.aspx?datamode=binary&amp;name=LED&amp;host=QVS%40cbrcur01apcp480&amp;
slot=&amp;public=only&amp;
color=%2300f010&amp;xrfkey=nEDfFknqkhWgtMq9" class="icon" style="height: 10px; width: 10px;"></span></a></li>

我需要点击按钮,但现在,我没有任何结果。

我当前的代码是:

Sub demo()

Dim IE As InternetExplorerMedium
Dim html As HTMLDocument

Set IE = New InternetExplorer
IE.Visible = True
IE.Navigate2 "Example"

Do While IE.Busy
    Application.Wait DateAdd("s", 1, Now)
Loop

'IE.document.getElementById("Document\SH08").Click
Set valores = IE.document.getElementsByTagName("li")
For Each valor In valores
    If valor.getAttribute("id") = "Document\SH05" Then
        valor.Click
    Exit For
 End If
Next valor

结束子

标签: htmlcssexcelvbainternet-explorer

解决方案


我找到了解决方案。我确实为 VBA 安装了 Selenium 库,并为 Chrome 更改了 InternetExplorer。

现在,我单击带有 Xpatch 的相应链接 (driver.FindElementByXPath("XPATCH").Click)。

像魅力一样工作!

谢谢!!


推荐阅读