首页 文章

VBA和Aria HTML控件

提问于
浏览
1

我有一个看似简单却又加重的问题 . 我正在编写VBA代码来控制网页上的滑动条 . 这应该是简单的过程,如填充各种类型的复选框和输入框,但我遇到编码错误 . 滑块栏有一个我想设置的高值和低值(用Price表示) .

这是我的代码......

Function Master
Dim Elem As Object      ' Object used in For loop.
Dim e As Object         ' Object used in For loop.
Dim Element As Object   ' Object used to click buttons for search.

Dim PriceLow As Integer
Dim PriceHigh As Integer

Set objShell = CreateObject("Shell.Application")
Set objWindow = objShell.Windows()
Set Elem = objIEApp.Document.getElementsByTagName("div")
For Each e In Elem
    If e.role = "slider" And e.tabindex = 1 Then
        e.aria-valuenow = Pricelow
    ElseIf e.role = "slider" And e.tabindex = 2 Then
        e.aria-valuenow = Pricehigh
    End If
Next e
End Function

这是低价的HTML代码(没有<>括号)

div
    tabindex="1" class="airslide-handle" role="slider" aria-valuenow="10"
    aria-valuemin="10" aria-valuemax="1000" style="left: 0%;" 
    data-reactid=".4.1.1:$0" abp="340" data-handle-key="0">
/div

并且价格高(与<>相同)

div tabindex="2" class="airslide-handle" role="slider" aria-valuenow="1000" 
    aria-valuemin="10" aria-valuemax="1000" style="left: 100%;"
    data-reactid=".4.1.1:$1" abp="341" data-handle-key="1">
/div

当我输入代码行“e.aria-valuenow = Pricehigh”和“e.aria-valuenow = Pricelow”时,VBA自动编辑我的代码“e.Aria - valuenow = Pricehigh”和“e.Aria - valuenow = Pricelow“这显然会导致VBA中的编译错误 . 我该如何解决或解决这个问题?

1 回答

  • 0

    只写“ariaValuenow”没有“ - ” . 所以

    If e.role = "slider" And e.tabindex = 1 Then
        e.ariaValuenow = Pricelow
    ElseIf e.role = "slider" And e.tabindex = 2 Then
        e.ariaValuenow = Pricehigh
    End If
    

    干杯

相关问题