0

我正在尝试在我们内部网络中的 Web 服务客户端自动化几个简单的过程。这个小程序应该处理几个简单的点击,每个人都必须这样做。自动化工作,但第一步让我抓狂。我无法登录服务。

这是网站上的按钮:

<a tabindex="0" class="x-btn x-unselectable x-box-item x-btn-default-small" id="button-1083" role="button" aria-disabled="false" aria-hidden="false" style="margin: 0px; left: 2px; top: 0px; width: 145px; right: auto;" hidefocus="on" unselectable="on" data-componentid="button-1083">

<span class="x-btn-wrap x-btn-wrap-default-small " id="button-1083-btnWrap" role="presentation" style="table-layout: fixed;" data-ref="btnWrap" unselectable="on"><span class="x-btn-button x-btn-button-default-small x-btn-text    x-btn-button-center " id="button-1083-btnEl" role="presentation" data-ref="btnEl" unselectable="on"><span class="x-btn-icon-el x-btn-icon-el-default-small  " id="button-1083-btnIconEl" role="presentation" data-ref="btnIconEl" unselectable="on">

</span><span class="x-btn-inner x-btn-inner-default-small" id="button-1083-btnInnerEl" data-ref="btnInnerEl" unselectable="on">Login</span></span></span></a>

我可以在网站上找到按钮

Document.getElementById("button-1083") 

但我无法模拟“点击”。

非常感谢任何帮助。

4

2 回答 2

0

如果您使用的是 VBScript,如标题所述,您可以使用:

Document.getElementById("button-1083").Click()

否则,如果您使用的是标签中列出的 javascript:

document.getElementById("button-1083").click();

这可能是(通过 VBScript 在网页上单击按钮?

于 2019-01-21T14:10:52.330 回答
0

如果我们看到代码,我们会发现它不是实际的按钮输入,而是/a链接标签,它具有按钮的作用并包含跨度标签

另一件事是注意所有标签都包含unselectable="on"样式。这使得它不可选择。用户只有在从外部开始选择时才能选择它。

参考:

div 的不可选择属性(HTML4 和 HTML5)

我们可以看到只有 1 个 span 标签包含 Login 文本。因此,如果您的目标是单击它,那么您可以尝试使用它的 span id 进行单击,即button-1083-btnInnerEl

我用下面的代码做了一个测试。我使用您原始帖子中的相同 HTML。

Dim IE As InternetExplorer
Dim URL As String
Dim btnGo As Object

Sub Macro_1()

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
URL = "C:\Users\Administrator\Desktop\sample.html"
IE.navigate (URL)

Do
DoEvents
Loop Until IE.readyState = 4



Set btnGo = IE.document.forms(0).all("button-1083-btnInnerEl")
btnGo.Click

End Sub

我可以在网页上单击登录。您可以在下面的输出中看到。

在此处输入图像描述

你可以在你身边做一个测试,让我知道,如果我误解了你的要求。我会努力纠正自己。

于 2019-01-24T02:24:19.693 回答