首页 > 解决方案 > VBA-Wedriver-Selenium-Xpath - 修改类值 - 单击按钮 -Excel

问题描述

我正在使用 Chrome Webdriver 打开一个网站。我想在一个框中将值修改为 12 而不是 10

HTML 代码

<div class="input-currency input-colors">
    <input type="tel" autocomplete="off" class="input-currency__input" data-test="deal-amount-input" maxlength="9" value="10" />
    <div class="input-currency__values"><span class="input-currency__value">10</span>&nbsp;<span class="input-currency__sign psign">Đ</span></div>
</div>

我的代码

Dim Bot As WebDriver
Dim posts As WebElements, post As WebElement
Set Bot = New WebDriver
Bot.Start "chrome"
Bot.Get "https://olymptrade.com/platform#"

Bot.FindElementsByXPath("//span[contains(@class,'input-currency__value')]").Values = 12
Bot.FindElementByClass("input-currency input-colors").Text

还有一个绿色的购买按钮,我想点击它。

HTML 代码

<div class="deal-buttons__item deal-buttons__item_up">
    <button data-test="deal-button-up" class="deal-buttons__button deal-buttons__button_up">
        <span>
            <span class="deal-buttons__text">80%</span>
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#FFF" fill-opacity="0.5" class="deal-buttons__svg deal-buttons__svg_arrow">
                <path d="M14.6 8l-8.3 8.3a1 1 0 0 0 1.4 1.4L16 9.4V17a1 1 0 0 0 2 0V7a1 1 0 0 0-1-1H7a1 1 0 1 0 0 2h7.6z"></path>
            </svg>
        </span>
    </button>
</div>

我的代码

Bot.FindElementsByXPath("//span[contains(@class,'deal-buttons__text ')]").Click
Bot.FindElementsByXPath("//button[contains(@class,'deal-buttons__button deal- buttons__button_up')]").Click

我想使用 selenium webdriver 更改值并单击购买按钮

提示我的错误

标签: htmlexcelvbaseleniumselenium-webdriver

解决方案


FindElements返回一个集合。您需要一个 webElement,即该集合的单个项目。您需要确定适当的索引并使用它,或者,如果想要第一次匹配,请使用方法,例如如下所示,它们是单数的。

Bot.FindElementByCss(".input-currency input").SendKeys "12"   'though you may need to clear element first

如果需要先清除:

With Bot.FindElementByCss(".input-currency input")
    .Clear
    .SendKeys "12" 
End With

按钮 html 不是由您提供的,但您再次需要单一的方法或索引。假设先要,并且 xpath 正确:

Bot.FindElementByXPath("//span[contains(@class,'deal-buttons__text ')]").Click

推荐阅读