VBA结合Selenium:如何修改HTML元素内的文本?
解决Selenium修改Span元素文本的问题
问题原因
SendKeys()方法仅适用于可交互的输入类元素(如<input>、<textarea>),你要修改的<span>属于静态文本元素,不支持SendKeys()操作,因此执行会报错。
解决方案
使用Selenium的ExecuteScript()方法执行JavaScript代码,直接修改元素的文本内容,这是修改静态文本元素的标准方式。针对VBA版本的Selenium,提供两种实现方式:
方式1:直接通过ID定位并修改
DRIVER.ExecuteScript "document.getElementById('__xmlview0--panel1Title-inner').textContent = 'PIPPO';"
方式2:先定位元素再传入JS修改
如果需要先确认元素存在,可先定位元素再作为参数传入JavaScript:
Dim targetElement As WebElement Set targetElement = DRIVER.FindElementById("__xmlview0--panel1Title-inner") DRIVER.ExecuteScript "arguments[0].textContent = 'PIPPO';", targetElement
补充说明
- 从元素ID判断页面大概率基于SAP UI5框架,这类框架下
textContent和innerText都可以尝试,若textContent不生效可替换为innerText。 - 该修改仅为前端临时显示变更,刷新页面后会恢复原始内容,若需持久化需结合页面后端逻辑调整。
内容的提问来源于stack exchange,提问作者Gab
相关产品推荐
相关产品推荐

