自动 - IE根据文本单击一个按钮.

Ces*_*ich 0 autoit

我需要单击一个表单上的按钮,它看起来像这样

<button id="****" class="****">Click Me</button>
Run Code Online (Sandbox Code Playgroud)

我使用以下代码单击其他按钮工作正常,但这是因为其他按钮已value="*****"分配给它

$oButtons = _IETagnameGetCollection($oIE, "button")
For $oButton in $oButtons
    If String($oButton.value) = "Click Me" Then
       _IEAction($oButton, "click")
    EndIf
Next
Run Code Online (Sandbox Code Playgroud)

我知道$oButton.value是什么获得了按钮的价值,但除此之外还有什么其他"操作符" value可以获得按钮的锚文本?

Mil*_*los 5

您发布的示例仅应在没有元素ID的情况下使用.ID始终是唯一的.

如果要单击的按钮具有ID,则可以将其用作该按钮的引用.

例:

HTML:

<button id="MyButton" class="someClass">Click Me</button>
Run Code Online (Sandbox Code Playgroud)

码:

$oBtn = _IEGetObjById($oIE, "MyButton")
_IEAction($oBtn, "click")
Run Code Online (Sandbox Code Playgroud)

除了.Value,你可以使用以下所有:

$oBtn.innerText
$oBtn.outerText
$oBtn.innerHtml
$oBtn.outerHtml
$oBtn.classname
$oBtn.id
$oBtn.name
$oBtn.href
$oBtn.src

$oBtn.click
$oBtn.focus
...
Run Code Online (Sandbox Code Playgroud)

请注意,您可以使用$ oBtn.value来读取或写入html元素的"Value"属性,但是对于例如."itemProp"属性$ oBtn.itemProp不起作用

例:

HTML:

<button id="MyButton" class="someClass" itemprop="streetAddressSubmit" >Click Me</button>
Run Code Online (Sandbox Code Playgroud)

这不会工作:

$ItempropValue = $oBtn.itemprop
Run Code Online (Sandbox Code Playgroud)

这是应该如何做到的:

$ItempropValue = $oBtn.getAttributeNode ('itemprop').NodeValue
Run Code Online (Sandbox Code Playgroud)