使用VBA结合Selenium如何定位并点击网页表格中id为flowTile_6的单元格
问题根因
- 硬编码行列的XPath存在语法错误:缺少闭合的
],且表格结构动态变化时行列序号会偏移,定位逻辑本身就不稳定 - 你注释的
FindElementById逻辑是正确的,未生效通常是两个原因:页面未完全加载就执行定位,或是元素默认点击事件需要通过JS触发才生效 - 遍历逻辑完全错误:table元素下没有li标签,循环不会进入点击分支
解决代码
Option Explicit Private ch As Selenium.ChromeDriver Sub test() Set ch = New Selenium.ChromeDriver ch.Start baseUrl:="你的页面根地址" ch.Get "/" ' 等待元素加载,超时时间设为10秒 Dim target As Selenium.WebElement Set target = ch.FindElementById("flowTile_6", 10000) ' 方式1:优先用原生点击 ' target.Click ' 方式2:原生点击不生效时,用JS触发绑定的onclick事件 ch.ExecuteScript "arguments[0].click();", target ' 后续操作 ' ... End Sub
补充说明
如果目标flowTile_6所在的表格区块默认是折叠状态,需要先执行ch.FindElementById("flowHeader1_text").Click展开折叠区块,再执行上述点击逻辑。
内容的提问来源于stack exchange,提问作者Red
相关产品推荐
相关产品推荐

