gpt4 book ai didi

vba - 屏幕抓取 - 通过几个标签名称向下查找类名称

转载 作者:行者123 更新时间:2023-12-02 16:34:25 24 4
gpt4 key购买 nike

很难找到蓝线来给它一个值(它是一个文本框):

img1

这是我当前尝试实现的目标 - 代码返回典型的运行时错误“91”:对象变量或 With block 变量未设置

IE.Document.GetElementById("main"). _
GetElementsByTagName("div")(0). _
GetElementsByTagName("div")(0). _
GetElementsByTagName("div")(0). _
GetElementsByTagName("table")(0). _
GetElementsByTagName("tbody")(0). _
GetElementsByTagName("tr")(0). _
GetElementsByTagName("td")(0). _
GetElementsByClassName("textbox125 PatientID")(0).Value = patientid

自从我完成屏幕抓取以来已经有一段时间了,我猜我那里有一个额外的标签名称,或者我的其中一个标签的项目编号错误......在有人问之前,我我不太喜欢查询选择器,我更喜欢用这种方式写出我的抓取内容:)。

最佳答案

您应该能够使用:

ie.document.querySelector("#main .textbox125.PatientID")

它的目标是 main 的父 ID 和目标元素类 .textbox125 PatientID。由于不允许使用复合类名,因此需要额外的 . 来删除空格。

如果您不想使用 querySelector,只使用可见的内容,猜测会使用标签名称并执行:

ie.document.getElementsByTagName("input")(1)

记住:

您始终可以右键单击以获取元素上的基本选择器/xpath

而且,您使用的路径越长,您的方法就越脆弱。

<小时/>

更长的路径:

据我所知,您需要 第二个 td 标记,即索引 1,然后使用子 input 标记重复该标记。这是基于可见的!确实需要实际的 HTML 来测试,因为我对此的可行性没有信心。

IE.Document.GetElementById("main"). _
GetElementsByTagName("div")(0). _
GetElementsByTagName("div")(0). _
GetElementsByTagName("div")(0). _
GetElementsByTagName("table")(0). _
GetElementsByTagName("tbody")(0). _
GetElementsByTagName("tr")(0). _
GetElementsByTagName("td")(1). _
GetElementsByTagName("input")(1).Value = patientid

关于vba - 屏幕抓取 - 通过几个标签名称向下查找类名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507010/

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