提问人:PJB 提问时间:7/3/2023 最后编辑:CommunityPJB 更新时间:9/13/2023 访问量:64
Web 抓取 IE 中跨度标记名称中的多个编辑按钮
Web scrape multiple Edit buttons within Span Tag Names in IE
问:
我想从内部网站自动执行流程。我无法下载 selenium 或任何其他外部应用程序(github 被阻止)。
我运行报告并审核从几个供应商输入的信息。
我正在尝试自动单击 ric 网格中的三个编辑按钮。我能找到的唯一独特特征是 onclick 命令中包含的网格中的特定单元格。
<a id="idf3" href="#" onclick="Ricola.page.showPleaseWait('Loading ...'); var wcall=wicketAjaxGet('?wicket:interface=:3:gridCheckGroup:ricGridContainer:ricGrid:rows:1:cells:15:cell:editLink::IBehaviorListener:0:',null,null, function() {return Wicket.$('idf3') != null;}.bind(this));return !wcall;"><span>Edit</span></a><span>/</span>
<a id="idf4" href="#" onclick="var wcall=wicketAjaxGet('?wicket:interface=:3: gridCheckGroup:ricGridContainer:ricGrid:rows:1:cells:15:cell:deleteLink::IBehaviorListener:0:',null,null, function() {return Wicket.$('idf4') != null;}.bind(this));return !wcall;"><span>Delete</span></a>
<a id="idfd" href="#" onclick="Ricola.page.showPleaseWait('Loading...'); var wcall=wicketAjaxGet('?wicket:interface=:3: gridCheckGroup:ricGridContainer:ricGrid:rows:2:cells:15:cell:editLink::IBehaviorListener:0:',null,null, function() {return Wicket.$('idfd') != null;}.bind(this));return !wcall;"><span>Edit</span></a><span>/</span>
<a id="idfe" href="#" onclick="var wcall=wicketAjaxGet('?wicket:interface=:3: gridCheckGroup:ricGridContainer:ricGrid:rows:2:cells:15:cell:deleteLink::IBehaviorListener:0:',null,null, function() {return Wicket.$('idfe') != null;}.bind(this));return !wcall;"><span>Delete</span></a>
<a id="id107" href="#" onclick="Ricola.page.showPleaseWait('Loading...'); var wcall=wicketAjaxGet('?wicket:interface=:3: gridCheckGroup:ricGridContainer:ricGrid:rows:3:cells:15:cell:editLink::IBehaviorListener:0:',null,null, function() {return Wicket.$('id107') != null;}.bind(this));return !wcall;"><span>Edit</span></a><span>/</span>
<a id="id108" href="#" onclick="var wcall=wicketAjaxGet('?wicket:interface=:3: gridCheckGroup:ricGridContainer:ricGrid:rows:3:cells:15:cell:deleteLink::IBehaviorListener:0:',null,null, function() {return Wicket.$('id108') != null;}.bind(this));return !wcall;"><span>Delete</span></a>
上面的代码出现在网站上,如下所示:
在某些记录中,只有一个“编辑”按钮,而其他记录可能最多有八个。这些将是页面上的唯一元素。<span>Edit</span>
我可以使用以下代码单击第一个“编辑”按钮:
'Click the Edit Button
Dim edButton As Object
Application.Wait (Now + TimeSerial(0, 0, 1))
Set edButton = htmlDoc.getElementsByTagName("span")
For Each e In edButton
If e.innerText = "Edit" Then
e.Click
Exit For
End If
Next e
我不确定如何循环它,因为从我所读到的内容来看,innertext 无法索引,因为它不是一个对象。
然后我尝试:
'Click the Edit Button
Dim edButton As Object
Set edButton = htmlDoc.querySelectorAll("[span=Edit]").click
这给了我
运行时错误“-2147352319 (80020101)”:自动化错误。
我发现除了 Ajax 之外,似乎没有一种情况可以对语法挑剔。
我确实有 Microsoft HTML 对象库、Microsoft Internet 控件、Microsoft XML、v6.0、Microsoft 脚本控件 1.0 和 Microsoft 脚本运行时用于添加参考。
理想情况下,我想将“编辑”按钮作为一个自动化过程循环,因为手动单击它们可能很耗时。同样,无法知道是只有一个编辑链接还是最多八个。
答: 暂无答案
评论