首页 > 解决方案 > 无法从 vba 在 Fitnesse 的 textarea 中写入内容

问题描述

我正在开发一个 VBA,它将打开 Fitnesse 链接以创建一个新的测试页面并写入页面名称、页面内容并单击保存。

  1. 我正在使用InternetExplorerMediumVBA 库访问 Fitnesse 链接以创建新的测试页面(成功)。
  2. 然后我会将excel表中的内容读入一个变量(成功)。
  3. 然后我将内容粘贴到创建的新测试页面的文本区域(未发生)。
  4. 然后我会点击保存(成功)

Set IE = New InternetExplorerMedium
sURL = "FitnesseURL"
With IE
    .Navigate sURL
    .Visible = True
End With
IE.Document.getElementById("pagename").Value = "Dummay_Page" '--> This is Page name text Box
StrVal = <Content from Sheet1>
IE.Document.getElementById("pageContent").innerText = StrVal '--> This is Page Textarea
Set btn = IE.Document.getElementByName("save") ' -- This is a Page button
btn(0).Click

我希望将 Sheet1 中的内容粘贴到 Fitnesse 测试页面 textarea 中,但我尝试过并没有发生这种情况.innerText.innerHTML并且.Value选项

标签: htmlexcelvbainternet-explorerfitnesse

解决方案


请尝试使用 F12 开发者工具检查 html 元素,确保它包含 pagename 和 pageContent 元素。此外,请检查您的代码,您在 getElementsByName 方法中丢失了一个“s”。

如果还是不行,我建议你可以尝试使用下面的代码(使用 CreateObject 方法创建 IE 对象,下面的代码在我这边运行良好。):

Sub test()

Dim IE As Object

Set IE = CreateObject("InternetExplorer.application")

sURL = "website url"

With IE
    .Navigate sURL
    .Visible = True
End With


IE.Document.getElementById("pagename").Value = "Dummay_Page" '--> This is Page name text Box

StrVal = <cocntent from sheet1>

IE.Document.getElementById("pageContent").innerText = StrVal '--> This is Page Textarea

Set btn = IE.Document.getElementsByName("save")(0) '-- This is a Page button

btn.Click

End Sub

推荐阅读