VBA-Wedriver-Selenium-xpath - 修改类值 - 单击按钮 -Excel



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

网页代码

<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

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

网页代码

<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

我想更改值并使用硒网络驱动程序单击购买按钮

为我提供关于我的错误的提示

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

最新更新